- 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 软件工程的基本概念 1.1软件以及特点;(2)软件的特点
软件是一种逻辑实体,而不是物理实体,具有抽象性。
软件的生产与硬件不同,它没有明显的制作过程。
软件在运行、使用期间不存在磨损、老化问题。
软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题。
软件复杂性高,成本昂贵。
软件开发涉及诸多的社会因素。; 1.2软件危机与软件工程;为了消除软件危机,形成了软件工程的概念,开辟了工程学的新兴领域——软件工程学。软件工程就是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。
关于软件工程的定义,国标(GB)中指出,软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。;软件工程包括3个要素,即方法、工具和过程。
方法是完成软件工程项目的技术手段;
工具支持软件的开发、管理、文档生成;
过程支持软件开发的各个环节的控制、管理。
软件工程的核心思想是把软件产品作为是一个工程产品来处理。把需求计划、可行性研究、工程审核、质量监督等工程化的概念引入到软件生产当中,以期达到工程项目的三个基本要素:进度、经费和质量的目标。; 1.3 软件工程过程与软件生命周期;2. 软件的生命周期(Software Life Cycle)
通常,将软件产品提出、实现、使用 、维护到停止使用退役的过程称为软件的生命周期。
;可将软件生命周期分为定义、开发及维护三个阶段。; 1.4软件工程的目标与原则 ;2. 软件工程的原则
软件工程原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
①抽象。抽取事物最基本的特性和行为,忽略非本质细节。
②信息隐蔽。用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。
③模块化。模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定义。;④局部化。要求在一个物理模块内集中逻辑上相互关联的计算资源,保证模块间具有松散的耦合关系,模块内部有较强的内聚性,这有助于控制解的复杂性。
⑤确定性???软件开发过程中所有概念的表达应是确定的、无歧义且规范的。
⑥一致性。包括程序、数据和文档的整个软件系统的各模块应使用已知的概念,内外部接口应保持一致,系统规格说明与系统行为应保持一致。
⑦完备性。软件系统不丢失任何重要成分,完全实现系统所需的功能。
⑧可验证性。开发大型软件系统需要对系统自顶向下,逐层分解。系统分解应遵循容易检查、测评、评审的原则,以确保系统的正确性。 ; 1.5软件开发工具与软件开发环境;2. 软件工程环境
称软件工程环境是全面支持软件开发全过程的软件工具集合。
计算机辅助软件工程(CASE)是将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。; 2 软件需求分析;2. 需求分析方法
常见的需求分析方法有:
①结构化分析方法。
②面向对象的分析方法。; 2.2结构化分析方法 ;(2)结构化分析的的常用工具
1. 数据流图
数据流图是描述数据处理过程的有力工具,是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
2. 数据字典
数据字典是结构化分析方法的另一个工具。
数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。;3. 判定表
判定表是一种文本化的加工说明的流行格式,它特别适用于带有一组测试条件的说明。 ;4. 判定树判定树也是用来表达加工逻辑的一种工具。; 2.3软件需求规格说明书;2. 软件需求规格说明书的内容
概述;
数据描述;
功能描述;
性能描述;
参考文献;
附录。;3. 软件需求规格说明书的特点
正确性;
无歧义性;
完整性;
可验证性;
一致性;
可理解性;
可修改性;
可追踪性。 ; 3软件设计;2. 抽象
用自顶向下由抽象到具体的方式进行分配控制,简化了软件的设计和实现,提高了软件的可理解性和可测试性,并且使软件更容易维护。
3. 信息隐蔽
信息隐蔽使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。;4. 模块独立性
每个模块完成一个相对独立的特定子功能,并且和其他模块之间的接口很简单。
模块的独立程度可以由两个定性标准来衡量,这两个标准分别称为耦合性和内聚性。藕合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此间结合的紧密程度。
一般较较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块间的耦合性和提高模块内的内聚性,有利于提高模块的独
文档评论(0)