实验一 软件工程准备
项目 | 内容 |
---|---|
班级博客链接 | 班级博客 |
本次作业要求链接 | 本次作业要求链接 |
我的课程学习目标 | (1)学习博客园软件开发者学习社区使用技巧和经验。(2)了解Github的基本操作。 |
本次作业在哪些方面帮我实现学习目标 | (1)通过博客园阅读了专业相关的一些博客内容,充实了自身的专业知识(2)熟练了Github的基本操作(3)阅读相关资料与书籍,初步认识了软件工程学科,独立思考问题并尝试解决问题 |
任务完成情况与说明
任务一: 调查问卷
- 已完成问卷调查的填写。
任务二: 在博客园平台注册个人博客账号和加入班级博客
- 已在博客园平台注册个人博客账号。
- 已在博客园平台加入班级博客。
任务三: 注册Github账号
- 已在Github平台注册账号并熟练使用其基本操作和项目托管。
任务四:各位同学点击以下链接填写博客园账号与github账号的链接
- 已完成相关任务
- 点击查看历史数据
任务五:构建之法与博客首秀
具体任务需求:阅读《现代软件工程—构建之法》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。
- 问题一:第六章第6.1.2节提出在“敏捷”的大旗下面,我们可以看到好几种软件开发的方法论。那么除了该节介绍的Scrum方法论还有哪几个方法论?
- FDD(Feature-Driven Development)-特征驱动开发
通过特征和特征集将传统的瀑布方法进行了横切,一切软件开发活动包括项目计划都是以特征为单位和特征驱动。 - DSDM-动态系统开发方法,也称业务中心框架开发方法
DSDM 的基本观点是,任何事情都不可能一次性的圆满完成,应该用20%的时间完成80%的有用功能,以适合商业目的为准。 - Crystal Methods-水晶方法族
水晶方法把开发看作是一系列的协作游戏,而写文档的目标就是只要能帮助团队在下一个游戏中取得胜利就行了。 - XP(极限编程)
XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。 - ASD(Adaptive Software Development)-自适应软件开发
ASD强调的是速度和灵活性。它最适合这种场合: 公司需要应用软件能够迅速见效,还能随客户使用需求的增长而灵活变化。
- 问题二:第五章第5.3.4节提出分析和设计工作流将需求转化成系统的设计。那么怎样进行系统设计?
系统的设计就是在需求分析成果的基础之上,运用软件设计的原则、模式、惯例和经验,提出问题的解决方案,并明确界定待建系统的结构、接口和界面。这个阶段的任务是设计软件系统的模块层次结构,设计数据库的结构以及设计模块的控制流程,其目的是明确软件系统"如何做"。这个阶段又分两个步骤:概要设计和详细设计概要设计解决软件系统的模块划分和模块的层次机构以及数据库设计;详细设计解决每个模块的控制流程,内部算法和数据结构的设计。这个阶段结束,要交付概要设计说明书和设计说明,也可以合并在一起,称为设计说明书。 - 问题三 第五章的5.3.2节中提出温斯顿并不推崇严格意义上的瀑布模型,相反的指出了此模型的各种缺陷和改进办法。那么瀑布模型的缺点是什么?
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
- 瀑布模型的突出缺点是不适应用户需求的变化。