作业9——软件工程课程总结

       今天,软件工程课学习已经结束了,在冯花平老师悉心指导以及周智老师仔细辅助下,我们完成了软件工程课。

在回顾这一学期软件工程课之后,我对这门课提出了一些问题,现在,学习了这门课以后,我可以对这些问题做出解答了。

 

1.提出问题

 

一.层次方框图

层次方框图是数据结构一种图形工具。

 

二.软件开发中有哪几种过程模型

1.瀑布模型(WaterfallModel)

瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

2.快速原型模型(RapidPrototypeModel)

快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。

3.边做边改模型(Build-and-Fix Model)

在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。 在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。

4.增量模型(IncrementalModel)

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。

5.喷泉模型(fountain model)

 喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。

 

三.软件生存周期

软件生存周期(software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。
一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每一个时期又划分为若干阶段。每个阶段有明确的任务,这样使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。
 
 
四.结构分析法
结构分析法是指对经济系统中各组成部分及其对比关系变动规律的分析。如国民生产总值中三种产业的结构及消费和投资的结构分析、经济增长中各因素作用的结构分析等。结构分析主要是一种静态分析,即对一定时间内经济系统中各组成部分变动规律的分析。如果对不同时期内经济结构变动进行分析,则属动态分析。
 
 
五.软件测试方法

静态测试

静态测试指测试不运行的部分,例如测试产品说明书,对此进行检查和审阅.。静态方法是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。

 

 

 

动态测试

 

根据动态测试在软件开发过程中所处的阶段和作用,动态测试可分为如下几个步骤:
1、单元测试
2、集成测试
3、系统测试
4、验收测试
5、回归测试
 

单元测试

单元测试是最微小规模的测试;以测试某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。这个工作不容易做好,除非应用系统有一个设计很好的体系结构; 还可能需要开发测试驱动器模块或测试套具。

 

 

2.课程体会

在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。 这门课程教给了我们在完成一个实际项目时的一般程序及过程,我认为这是一份非常具有实际意义的教学内容。

 

 

3.对课程建议

通过一个学期学习下来呢,感谢冯花平老师帮助以及各老师辅助我们。我建议大家每个人做一个软件,互相学习,与老师切磋交流,这样大家这门课学习会更好。

 

 
 

 

posted on 2016-06-16 15:15  这是谁的名字  阅读(165)  评论(0编辑  收藏  举报