sangsang1111  

实验一 软件工程准备

项目 内容
班级博客链接 班级博客
本次作业要求链接 作业要求
我的课程学习目标 1.学习博客园中的一些操作技巧。
2.了解Github的相关操作。
3.学习博客的Markdown的规范书写。
4.学会提出问题的方法并认真思考。
本次作业在哪些方面帮我实现学习目标 1.通过问卷调查,了解了自己在学习中的不足。
2.了解了Markdown排版。
3.通过学习邹欣老师《现代软件工程—构建之法》,了解了相关的软件工程知识

任务完成情况说明

任务1:调查问卷

我已经在指定网址提交了课程调查问卷。

任务2:在博客园平台注册个人博客账号和加入班级博客

我按照指导文档创建了个人博客园账号,并成功加入了班级博客。

任务3:注册Github账号

我已经注册了Github账号,并了解了基本操作和如何托管项目。

任务4:填写博客园账号与Github账号的链接

我已经在指定链接填写了博客园账号和Github账号的链接。

任务5:构建之法与博客首秀

我阅读了《现代软件工程—构建之法》,并拟定了以下3个问题:

  1. 什么是软件工程?
  2. 尝试解释敏捷开发原则?
  3. 什么是Scrum/Sprint开发方法?

思考问题:

  • 问题1:什么是软件工程?
    • 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。软件 = 程序 + 软件工程。一个扩展的推论是:软件企业 = 软件 + 商业模式。
  • 问题2:尝试解释敏捷开发原则?
    • 尽早并持续地交付有价值的软件以满足顾客需求。
    • 敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势。
    • 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。
    • 业务人员和开发人员在项目开发过程中应该每天共同工作。
    • 以有进取心的人为项目核心,充分支持信任他们。
    • 无论团队内外,面对面的交流始终是最有效的沟通方式。
    • 可用的软件是衡量项目进展的主要指标。
    • 敏捷流程应能保持可持续的发展。 领导, 团队和用户应该能按照目前步调持续合作下去。
    • 只有不断关注技术和设计才能越来越敏捷。
    • 保持简明 - 尽可能简化工作量的技艺 - 极为重要。英文说 maximizing the amount of work not done. 我的理解是 - 任何还没有明确的工作都会花不可知的时间,因此要 maximize, 不要把那些还没有做的工作和正在做的工作混起来。
    • 只有能自我管理的团队才能创造优秀的架构, 需求和设计。
    • 时时总结如何提高团队效率, 并付诸行动。
  • 问题3:什么是Scrum/Sprint开发方法?
    • 第一步: 找出完成产品需要做的事情。
      • 产品负责人主导大家对于这个Backlog 进行 增/删/改 的工作。每一项的时间估计的单位为 “天”。
    • 第二步: 决定当前的冲刺需要解决的事情。
      • 任务被进一步细化了,被分解为以小时为单位。如果一个任务的估计时间太长 (例如 超过16个小时),那么它就应该被进一步分解。 冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务。 团队成员能主导任务的估计和分配, 他们的能动性得到较大的发挥。
    • 第三步: 冲刺 (Sprint)。
      • 在冲刺阶段, 外部人士不能直接打扰团队成员。 一切对交流只能通过SCRUM MASTER 来完成。 这一措施较好地平衡了 “交流”和 “集中注意力”的矛盾。 有任何需求的改变都留待冲刺结束后再讨论。冲刺期间, 每天要开一个每日例会 (SCRUM Meeting), 团队成员大多站着开会, 所以又称每日立会. 大家依次报告: 我昨天做了啥,我今天要做啥,我碰到了哪些问题。

学习过程

在阅读《现代软件工程—构建之法》的过程中,我对软件工程的核心、软件开发的流程和如何保证软件质量有了更深入的了解。

首先,软件工程的核心是管理。软件开发是一个复杂的过程,需要管理者对整个过程进行有效的管理,包括需求分析、设计、编码、测试、维护等各个环节。只有通过有效的管理,才能保证软件开发的质量和效率。

其次,软件开发的流程包括需求分析、设计、编码、测试和维护等阶段。其中,需求分析是软件开发的关键,需要充分了解用户需求,确定软件功能和性能要求。设计阶段需要根据需求分析的结果,进行系统设计和详细设计。编码阶段需要根据设计文档进行编码,实现软件功能。测试阶段需要对软件进行各种测试,包括单元测试、集成测试、系统测试等。维护阶段需要对软件进行维护和升级,保证软件的稳定性和可靠性。

最后,如何保证软件质量是软件开发的重要问题。软件质量包括功能性、可靠性、可维护性、可移植性、安全性等多个方面。为了保证软件质量,需要采用多种方法,包括代码审查、测试、质量保证等。其中,测试是保证软件质量的重要手段,需要进行全面的测试,包括功能测试、性能测试、安全测试等。

思考与总结

通过阅读《现代软件工程—构建之法》,我对软件工程的核心、软件开发的流程和如何保证软件质量有了更深入的了解。在今后的学习和工作中,我将更加注重软件开发的管理和质量保证,提高自己的软件开发能力。

结语

通过完成本次实验,我了解了博客园和Github的基本操作,学会了使用Markdown排版,提高了写作和记录的能力。我将继续努力,不断提高自己的软件开发能力,为实现自己的梦想而努力!

posted on 2023-03-30 23:17  桑桑1111  阅读(48)  评论(0编辑  收藏  举报