(2)瀑布模型的成功很大程度上是由于它基本上是一种文档驱动的模型,而快速原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。
第2章可行性研究。
1、可行性研究的目的:
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、可行性研究的任务。
1)技术可行性。
2)经济可行性。
3)操作可行性。
3、可行性研究过程的步骤。
1)复查系统规模和目标。
2)研究目前正在使用的系统。
3)导出新系统的高层逻辑模型。
4)进一步定义问题。
5)导出和评价供选择的解法。
6)推荐行动方针。
7)草拟开发计划。
8)书写文档提交审查。
4、系统流程图。
系统流程图是概括的描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。
5、数据流图。
数据流图(dfd)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
6、数据字典(可能考简答题,与课后题第5题相照应)
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格,然而没有数据流图,数据字典也难以发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
7、成本估计的三种估算技术。
1)**行技术。
2)任务分解技术。
3)自动估计成本技术。
8、成本/效益分析的方法。
1)货币的时间价值。
2)投资**期。
3)纯收入。
4)投资**率。
9、课后题第5题(可能考简答)
10、注意看课本39页系统符号及名称,41页的数据流图的符号。
第3章需求分析。
1、需求分析的任务。
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。
需求分析的任务还不是确定系统怎样完成它的工作,儿仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
2、需求分析的任务。
确定对系统的综合要求:
1)功能需求。
2)性能需求。
3)可靠性和可用性需求。
4)出错处理需求。
5)接口需求。
6)约束。7)逆向需求。
8)将来可能提出的要求。
3、从哪些方面验证软件需求的正确性。
1)一致性。
2)完整性。
3)现实性。
4)有效性。
第5章总体设计。
1、总体设计的任务。
总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题。
另一项重要任务就是设计软件的结构,也就是要确定系统中每个程序是有哪些模块组成的,以及这些模块相互间的关系。
2、模块化的定义。
模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成制定的功能满足用户的需求。
3、信息隐藏和局部化的定义(按照书上自己总结)
信息隐藏和局部化是密切相关的。
所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。
信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。
隐藏”意味着有效地模块化可以通过定义一组独立的模块而实现,这些独立的模块彼此之间仅仅交换那些为了完成系统功能而必须交换的信息。
4、耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。
耦合是影响软件复杂程度的一个重要因素。应该采取下述设计原则:
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
5、内聚。内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。
事实上,没有必要精确确定内聚的级别。重要的是设计时力争做到高内聚,并且能够辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度并且降低模块间的耦合程度,从而获得较高的模块独立性。
第6章详细设计。
1、详细设计阶段的任务。
详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序**。
第7章实现。
1、通常把编码和测试统称为实现。
2、测试方法。
什么是白盒测试?什么是黑盒测试?
黑盒测试:是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息(例如,数据库或文件)的完整性。黑盒测试又称为功能测试。
白盒测试:与黑盒测试相反,它的前提是可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检验程序中的主要执行通路是否都能按预定要求正确工作。
白盒测试又称为结构测试。
3、大型软件系统的测试过程基本上由下述几个步骤组成:
1)模块测试。
2)子系统测试。
3)系统测试。
4)验收测试。
5)平行运行。
4、白盒测试计算。
逻辑覆盖,从覆盖源程序语句的详尽程度分析,大致有以下一些不同的标准:
掌握选择合适的测试数据)(可能考简答题)
1)语句覆盖。
2)判定覆盖。
3)条件覆盖。
4)判断/条件覆盖。
5)条件组合覆盖。
5、黑盒测试技术(注意看老师上课的例题)(注意等价类的划分)
1)等价划分。
2)边界值分析。
第8章维护。
1、维护的定义。
所谓维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。可以通过描述软件交付使用后可能进行的4项活动,具体地定义软件维护。
种软件维护所做的工作分别是什么?
1)第一项维护活动:改正性维护:诊断和改正错误。
2)第二项维护活动:适应性维护:是为了和变化了的环境适当地配合而进行的修改软件的活动,是既必要又经常的维护活动。
3)第三项维护活动:完善性维护:满足增加新功能或修改已有功能的要求。
4)第四项维护活动:预防性维护:为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件。
3、决定软件可维护性的因素:
1)可理解性。
2)可测试性。
3)可修改性。
4)可移植性。
5)可重用性。
短时间内总结,可能不全或者是存在一些问题,大家自行修改。
天道酬勤!祝福信一班的每一位同学考试顺利!
软件工程复习
单选填空简答思考题。1 传统的软件瀑布生命模型包括哪六个方面?需求 分析 设计 实现 交付后维护 退役2 传统瀑布生命模型的中交付后维护包括哪三种?改正性维护 适应性维护 完善性维护3 现代维护和传统维护的观点有何不同?1 传统维护的观点是先开发后维护。2 现代维护的观点是无论是在软件安装前还是安装...
软件工程复习
软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...
软件工程 复习
1.概念 软件危机是指在计算机软件开发 使用与维护过程中遇到的一系列严重问题。2.为什么会产生软件危机?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致使软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。3.软件危机的表现 经费预算经常突破...