- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
宁波大学科技学院软件工程期末考试复习资料考到很多题目,%以上
2010年宁波大学科技学院 软件工程 期末考试 复习资料 考到很多题目,60%以上
第一章
什么是软件工程?
指导计算机软件开发和维护的工程学科
采用工程的概念、原理、技术和方法来开发和维护软件,把进过时间考验而证明正确的管理技术和当前能够得到的最好得技术方法(计算机技术和网络通讯技术)结合起来,经济的开发出高质量的软件并有效的维护它。
什么事软件危机?
是指计算机软件在开发和维护过程中所遇到的一系列严重的问题。
软件危机的7种表现形式:
对成本的估计不足
对“已完成”软件的不满意
质量靠不住
不可维护
没有相应的文档资料
开发成本逐渐上升
软件开发生产率的提高速度,跟不上硬件的发展速度和计算机应用的迅速普及深入的趋势。
软件工程的方法:
传统的开发方法
面向对象的方法
软件工程方法三要素:(1)过程 (2)方法 (3)工具
第二章
软件过程(软件说明周期)由软件定义、软件开发和运行维护三个时期组成。
软件定义(业务流程图)
(1)(问题定义)确定目标
(2)需求分析
1.明显
2. 潜在
(3)可行性分析
1.经济
2.技术
3.环境
软件开发
系统分析(建模)三个模型
模型 工具
1.数据对象模型 实体—关系图(E—R图)((导出)数据字典(描述数据信息的集合,是对系统中使用的所有数据元素的定义的集合。)
2.功能模型((依据于)业务流程图 数据流图((导出)软件体系结构
3.行为模型(时间序列) 状态转换图
系统设计
产生软件体系结构——数据流图
1模块化的5条标准:
模块可分解性
模块可组装性
模块可理解性
模块连续性
模块保护性
2模块独立性:弱耦合,应尽量使用数据耦合代替控制耦合
最高程度的耦合是内容耦合。
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
强内聚:追求功能内聚
功能内聚是最高程度的内聚,偶然内聚最低。
3启发原则:【1】提高模块独立性
【2】模块规模适中
【3】深度、宽度、扇入和扇出适当
【4】作用域应在控制域之内
降低模块接口复杂度
单一出口
可预测
优化软件体系结构
接口设计
数据库设计
过程设计
工具:程序流程图
盒图(N—S图)
PAD图
判定表
判定树
过程设计语言(PDL)
系统实现
编码
测试
传统方法:
瀑布模型:典型的软件工程模型
优点:很有顺序,保证系统的推进,系统的实现,质量有保证,降低软件危机
可以强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交的文档,要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点:只要危机存在,就会一级一级传递放大。
传统方法无法彻底消除软件危机。
面向对象的方法:喷泉模型
喷泉这个词体现了面向对象软件开发过程迭代和无缝的特性。
优点:适用于大型的软件开发,彻底消除了软件危机,与人类习惯的思维方式一致,
稳定性好,可重用性好,较易开发大型软件产品,可维护性好。
缺点:方法复杂,技术高,中小型软件不适用。
第三章
所谓模型,就是为了理解事物对事物作出的一种抽象,是对事物的一种无歧义的书面描述。
第四章
传统的软件开发方法,从计算机的观点出发,以算法为核心,开发过程基于功能分析和功能分解
正确的模块使用了错误的数据
正确的数据被错误的模块调用
对事物的发展很难适应
面向对象的观点,以人类的思维方式出发,以对象为中心
使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)
众多实体((抽象、共性)类
构造特色(属性)(数据)
功能抽象(服务)+方法
封装性
继承性
多态性
重载性
面向对象方法的生命周期
1.需求分析
(1)确定目标
(2)需求分析:明显 潜在
(3)可行性分析
2.系统分析(建模OOA)
三个模型:
(1)对象模型(静态结构)(对象+关联)【抽象成类,类与类关系】
(2)功能模型(数据变换)(系统功能)((依据于)业务流程图
(3)行为模型(交互次序的)(动态)
5个层面:
(1)————主题层
(2)————类和对象层
(3)————结构层
(4)————属性层
(5)————服务层
3.系统设计(OOD)
(1)软件体系结构(对象模型 ⒈模块独立性 ①弱耦合:交互耦合
(对类优化) 继承耦合
(优化软件体系结构)
文档评论(0)