- 1、本文档共123页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
知识重点(软件工程部分);一 、软件工程基本原理;软件及软件工程;一些对软件的偏见或误解;什么是软件;1.1 软件危机;1.1 软件危机;1.1 软件危机;1.1 软件危机;1.1 软件危机;1.2 软件工程;1.2 软件工程;1.2 软件工程;1.2 软件工程;1.2 软件工程;1.2 软件工程;1.3 软件生命周期 ;问题定义(领域分析1)
确定要开发软件系统的总目标;*;*;;概要设计
概括地回答“怎样实现目标系统?”这个问题。概要设计又称为初步设计、逻辑设计、高层设计或总体设计。
可以给出实现目标系统的几种可能的方案。
另一项主要任务是设计程序的体系结构,即确定程序由哪些模块组成以及模块间的关系。
详细设计
任务是把解法具体化,回答“应该怎样具体地实现这个系统”这个关键问题。
还不是编写程序,而是设计出程序的详细规格说明。
又称为模块设计、物理设计或低层设计。 ;编码和单元测试
关键任务是写出正确的容易理解、容易维护的程序模块,并测试。
综合测试
关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。
主要包括:集成测试和验收测试
分析系统的可靠性
记录测试计划、详细测试方案及实际测试结果,作为软件配置的一部分。;软件维护
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。
通常有四类维护活动
改正性维护,也就是诊断和改正在使用过程中发现的软件错误;
适应性维护,即修改软件以适应环境的变化;
完善性维护,即根据用户的要求改进或扩充软件使它更完善;
预防性维护,即修改软件为将来的维护活动预先做准备。;1.4 软件过程;瀑布模型 ;瀑布模型;瀑布模型;瀑布模型;瀑布模型;瀑布模型;瀑布模型;瀑布模型;快速原型模型;快速原型模型;快速原型模型;快速原型模型;增量模型;增量模型;;螺旋模型;螺旋模型;螺旋模型;喷泉模型;喷泉模型;喷泉模型;思考题;思考题;*;*;二、 可行性研究;;2.1 可行性研究的任务;2.1 可行性研究的任务;2.1 可行性研究的任务;3.1 需求分析的任务;;结构化设计;结构化设计与结构化分析关系;分析模型的每个元素都提供了创建设计模型时所需要的信息。下图描绘了软件设计过程中???信息流。
由数据模型、功能模型和行为模型清楚地表示的软件需求被传送给软件设计者,他们使用适当的设计方法完成数据设计、体系结构设计、接口设计和过程设计。;在软件设计期间所做出的决策,将最终决定软件开发能否成功,更重要的是,这些设计决策将决定软件维护的难易程度。
设计是软件开发过程中决定产品质量的关键阶段:
提供了可以进行质量评估的软件表示
把用户需求准确转变为最终产品
是后续所有软件开发与维护步骤的基础;设计过程; 设计过程; 设计过程;模块独立;耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。
在软件设计中应该追求尽可能松散耦合的系统。在这样的系统中可以研究、测试或维护任何一个模块,而不需要对系统的其他模块有很多了解。
此外,由于模块间联系简单,发生在一处的错误传播到整个系统的可能性就很小。因此,模块间的耦合程度强烈影响系统的可理解性、可测试性、可靠性和可维护性。;常见的耦合程度:
无耦合:任何一个模块都独立工作,现实系统中不存在
数据耦合:模块间交换的信息只有数据(例如:函数参数传递)
控制耦合:模块间传递控制信息(例如:传递参数flag,用于控制不同功能)
特征耦合:把整个数据结构作为参数传递,而被调用的模块只需要使用其中一部分数据(例如:日期结构)
公共环境耦合:多个模块通过公共数据环境相互作用(公共环境包括:全局变量、共享的通信区、内存的公共覆盖区、文件、物理设备等)
松散的公共环境耦合(一个读数据,一个取数据)
紧密的公共环境耦合(两个既读数据又取数据)
内容耦合:
一个模块访问另一个模块的内部数据
一个模块不通过正常入口而转到另一个模块的内部
两个模块有一部分程序代码重迭
一个模块有多个入口
;总之,耦合是影响软件复杂程度的一个重要因素。应该采取下述设计原则:
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
高耦合:一个程序员完成一个大任务
低耦合:两个程序员各完成一个小任务;思考题;内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。
力求高内聚;
通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;
低内聚很不好,不要使用。;内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。
内聚和耦合都是进行模块化设计的有力工具,但是实践表明内聚更重要,应该把更多注
文档评论(0)