- 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 软件的概念、特点与分类;软件具有如下特点:
软件是一种逻辑实体,不是具体的物理实体。
软件产品的生产主要是研制。
软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
软件成本昂贵,其开发方式目前尚未完全摆脱手工生产方式。
软件不存在磨损和老化问题,但存在退化问题。;图1.1给出了硬件的失效率曲线,它是一个U型曲线(即浴盆曲线),说明硬件随着使用时间的增加失效率急剧上升。
图1.2所描述的软件失效率曲线,它没有U型曲线的右半翼,表明软件随着使用时间的增加失效率降低,因为软件不存在磨损和老化问题,然而存在退化问题。;软件产品有以下两类:
(1)通用软件产品
这类软件产品由软件开发机构制作,在市场上公开销售,可以独立使用。这类软件产品有:数据库软件、字处理软件、绘图软件以及工程管理工具等。
(2)定制软件产品
这类软件产品受特定的客户委托,由软件承包商专门为这类客户开发。这类软件有:电子设备的控制系统、特定的业务处理系统和空中交通管制系统等。
这两类产品的一个重要区别在于:在通用软件中,软件描述由开发者自己完成,而定制软件产品的软件描述通常是由客户给出,开发者必须按客户要求进行开发。;软件工程是一类工程。工程是将理论和知识应用于实践的科学。就软件工程而言,它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。其中应用了计算机科学、数学和管理科学。计算机科学和数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划资源、对质量和成本进行管理。
早期软件开发的经验是:非正规的软件开发并不奏效。多数软件项目有时甚至要推迟几年才能完成,而且比预计的费用高,不可靠,难以维护,总之,做得很差。软件开发陷入危机,结果是硬件成本在下降而软件成本却呈快速增长之势,因而必须要有新的技术和方法来控制大型软件系统固有的复杂性。;70年代初,自“软件工程”这一概念提出以来,主要围绕软件过程以及软件复用,开展了有关软件生产技术和软件生产管理的研究与实践。
其主要成果有:提出了应用广泛的面向对象语言以及相关的面向对象方法,大力开展了计算机辅助软件工程的研究与实践。
尤其是近几年来,针对软件复用及软件生产,软件构件技术以及软件质量控制技术、质量保证技术得到了广泛的应用。
目前各个软件企业都十分重视资质认证,并想通过这些工作进行企业管理和技术的提升。;IEEE【IEE93】给出了软件工程的定义:
“把系统的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程应用于软件;并研究以上实现的途径”
;
软件工程(Software Engineering)的框架可概括为:目标、过程和原则。
(1) 软件工程目标是生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。; (2) 软件工程过程是生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。; (3) 软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
四项基本原则:
选取适宜的开发范型。
采用合适的设计方法。
提供高质量的工程支持。
重视开发过程的管理。;1.3 关于软件工程的问题 ;1.3.2 软件工程不同于系统工程 ;1.3.3 软件工程不同于传统工程 ;1.3.4 软件工程不同于信息系统工程 ;1.3.5 软件工程不只是程序设计 ;1.3.6 软件工程涉及的人员 ;1.3.7 什么是好的软件 ;1.3.8 软件工程所面临的主要问题 ;1.4 软件工程的基本原理 ;1.5 软件的开发方法 ;1.5.1 结构化开发方法 ;1.5.1 结构化开发方法 ;(2) 结构化设计步骤
结构化设计是一种面向数据流的设计方法,就是采用最佳的可能方法设计系统的各个组成部分以及各成分之间的内部联系的技术,目的在于提出满足系统需求的最佳软件的结构,完成软件层次图或软件结构图。;结构化设计步骤:
① 首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程。
② 然后根据数据流图决定问题的类型。数据处理问题有两种典型的类型:变换型和事务型。针对两种不同的类型分别进行分析处理。
③ 由数据流图推导出系统的初始结构图。也就是把数据流图映射到软件模块结构,设计出模块结构的上层。
④ 利用一些试探性原则来改进系统的初始结构图,直到得到符合要求的结构图为止。即在数据流图的基础上逐步分解高层模块,设计中下层模块,并
您可能关注的文档
最近下载
- 预见性护理及早期风险识别PPT课件.pptx VIP
- 1.7 有理数的加减混合运算(分层练习).pdf VIP
- 打造“四有”体育课堂-发展学生核心素养.docx VIP
- 洋马发动机喷射泵拆卸更换调整.pptx VIP
- 2025年人工智能训练师(五级)初级资格理论考试练习题库(476题)含答案.pdf VIP
- 苏教版五年级小数的加法和减法练习题1(完美打印版).doc VIP
- 2023年上海市第二十四届初中物理竞赛(大同中学杯)初赛试卷及答案.docx
- 第5课 美丽河山我们的家 课件 人民版中华民族大家庭.pptx
- 英语人教版九年级全册Unit2 Section A教学设计.doc VIP
- 2025海康威视网络硬盘录像机(76+77+86+E系列)用户手册.docx VIP
文档评论(0)