♦ 采访工业界的软件团队(通过邮件,微博,微信,阅读博客等方式),询问他们的软件开发流程
在查阅相关书籍和浏览博文后,我大致对软件开发流程有所了解。
软件开发流程可分为八个阶段:
一、需求分析阶段
(一) 相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
(二) 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。
(三) 系统分析员向用户再次确认需求。
二、概要设计阶段
首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
三、详细设计阶段
在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。
四、编码阶段
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
五、测试阶段
测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。
六、软件交付
在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。
七、验收
用户验收。
八、维护阶段
根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。
♦ 分组讨论
- 投票选出你们小组成员最喜欢的两个团队类型
- 辩论你们在这门课程中最应该采取哪种类型
- 列出优劣
- 发表博客
√ 通过投票和交流协商,我们组成员更加倾向于交响乐团模式(Orchestra)和功能团队模式(Feature Team)。
√ 根据小组成员的SWOT分析和成员们的深入交流,了解了每位成员的优缺点和性格特并综合以上分析最终决定我们团队采取交响乐团模式。
交响乐团模式优点:
各司其职,重在执行,每位成员的专注度都十分高。这样的团队通常由5~8人组成,他们各自扮演不同的团队角色,搭配合理的团队能像交响乐团那样"奏响美妙的乐章",高效地开展合作,从容地应对未来的挑战。
交响乐团模式缺点:
有点呆板,不灵活。并且其中每个成员都不可或缺。