- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1-软件危机的表现 :
◎ 软件成本日益增长
◎ 开发进度难以控制
◎ 软件质量差
◎ 软件维护困难
2-软件危机的原因
◎ 用户需求不明确
◎ 缺乏正确的理论指导
◎ 软件规模越来越大
◎ 软件复杂度越来越高
3-如何克服软件危机
人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败 。
要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。
在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。
4.软件重用技术及思想:
软件重用的目的是使非结构化、非标准化程序变为结构化、标准化,并形成大量能重用的计算机构件和模块。
软件重用技术使软件的开发基本上变成了搭积木,把需要的对象和功能模块拼起来即可。它节省了大量的人力与物力,减少了重复开发。
最大限度地重用现存软件是软件维护方法学的重要思想原则。
4.1四个层次的重用:
(1)开发过程重用:软件标准等的重用,也称为开发支持环境重用。
(2)软件构件重用:这里软件构件指文档、程序及数据。应该将软件构件可重用性作为主要设计指导思想。
(3)用户业务知识重用:用户现存系统的业务处理过程、特定专业领域的需求特征等知识的重用。
(4)市场知识重用:应用领域标准、行业标准、市场规律知识的重用。
4.2软件重用的定义
软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。通常,把这种可重用的元素称作软构件(software component,通常简称为构件),可重用的软件元素越大,我们就说重用的粒度(granularity)越大。
使用软件重用技术可减少重复工作,提高软件生产率、缩短开发周期。同时,由于软构件大都经过严格的质量认证,因此有助于改善软件质量,大量使用构件,软件的灵活性和标准化程度也可得到提高。
的重用。
5.构件与类
构件是定义了良好接口的物理实现单元,它是系统中可替换的部分。每个构件体现了系统设计中特定类的实现。
构件与对象在概念上有重叠,对象是类的实例,可以将面向对象设计称为面向类的设计。
一个构件可以是一个编译的类,可以是一组编译的类,也可以是其他独立的部署单元,如一个文本文件、一个图片、一个数据文件、一个脚本等;
5.1对象方法与构件方法
对象方法重视设计和开发,构件方法重视部署;
面向对象设计关注设计时系统中实体之间的关系;
面向构件的设计将这种关系扩展到系统生命周期的其他阶段,特别是产品阶段和部署阶段;
◎ 对象方法关注的问题
设计是否抓住了问题域的有关部分?
接口和类是否易于扩展和修改?
◎ 构件方法关注的问题
在运行时,客户如何发现实现类?
如果在运行时有多个版本的实现类,会发生什么情况?
构件如何定位和装载必要的配置信息?
如果过程或容器需要临时停止运行,进行的工作是否能保存和恢复?构件实例是否能从一个容器迁移到另一个容器?
产品家族中一个成员的开发和维护如何影响其他成员?
5.2构件的定义
构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
简单说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体。
面向对象技术达到了类级重用(代码重用)。构件对一组类的组合进行封装。
5.3 构件重用
◎ 检索与提取构件
◎ 理解与评价构件
◎ 修改构件
◎ 构件组装
6.软件体系结构的定义
◎ Dewayne Perry和A1exander Wo1f //:(第一个)
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。
这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
◎ 我们的定义
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
从软件工程的角度,一般将软件的发展划分为哪三个时期,各有什么特点?
作业:
1.2略
3.软件重用项目与非重用项目有哪些不同之处?
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量, 大量使用构建, 软件的灵活性和标准化程度可得到提高。
4.根据软件体系结
文档评论(0)