- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 软件工程基础
一、软件工程基本概念软件定义与软件特点
计算机软件(Software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。
③软件在运行、使用期间不存在磨损、老化问题。软件虽然在生存周期后期不会因为磨损而老化,④软件的开发、运行⑤软件复杂性高,成本昂贵。
⑥软件开发涉及诸多的社会因素。许多软件的开发和运行涉及软件用户的机构设置,体制问题以及管理方式等,甚至涉及人们的观念和心理,软件知识产权及法律等问题。
应用软件应用软件为解决特定领域系统软件支撑软件软件危机与软件工程
b.软件开发成本和进度无法控制,开发成本超出预算,开发周期大大超过规定日期的情况经常发生;
c.软件质量难以保证软件不可维护或维护程度非常低软件的成本不断提高软件开发生产率的提高赶不上硬件的发展和应用需求的增长。将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中量监督等工程化的概念引入到软件生产当中,以期达到工程项目的三个基本要素:进度、经费和质量的目标。同时,软件过程与软件生命周期
ISO 9000定义:软件过程是把输入转化为输出的一组彼此相关的资源和活动。 ②内涵
a.为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。P(Plan)——软件规格说明。规定软件的功能及其运行时的限制D(Do)——软件开发或软件设计与实现。生产满足规格说明的软件C(Cheek)——软件确认。确认软件能够满足客户提出的要求A(Action)——软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。为开发(用户要求)转化为输出(软件产品)。软件生命周期
使软件在运行中持久地满足用户的可行性研究与计划制定确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。
需求分析对待开发软件提出的需求进行分析并给出详细定义。编写软件规格说明书及初步的用户手册,提交评审。
软件设计系统设计
d.编码编码是把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
软件测试在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。运行和维护将已交付的软件投入运行,并
4.软件工程的目标与原则
软件工程的目标
软件工程的目标在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基本目标付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发,及时交付使用。
软件工程的理论和技术性研究的内容
a.软件开发技术
软
b.软件工程管理
软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
软件工程管理是软件按工程化生产时的重要环节,它要求按照预先制定的计划、进度和预算执行
第三,软件工程经济学是研究软件开发中成本的估算、成本效益分析的方法和技术,用经济学的基
第四,软件心理学是软件工程领域具有挑战性的一个全新的研究视角,它是从个体心理、人类行为、组织行为和企业文化等角度来研究软件管理和软件工程的。
软件工程的原则
为了达到上述的软件工程目标,在软件开发过程中,必须遵循软件工程的基本原则。①抽象抽取事物最基本的特性和行为,忽略非本质细节。采用分层次抽象,自顶向下,逐层细化的办
②信息隐蔽采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。
③模块化④局部化在一个物理模块内集中逻辑上相互关联的计算资源,保证模块间具有松散的耦合关系,模块内部有较强的内聚性,控制解的复杂性
⑤确定性软件开发过程中所有概念的表达应是确定的、无歧义且规范的。这有助于人与人的交互不会产生误解和遗漏,以保证整个开发工作的协调一致。
⑥一致性包括程序、数据和文档的整个软件系统的各模块应使用已知的概念、符号和术语;程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。
⑦完备性软件系统不丢失任何重要成分,完全实现系统所需的功能。
⑧可验证性开发大型软件系统需要对系统自顶向下,逐层分解。系统分解应遵循容易检查、测评、评审的原则,以确保系统的正确性。
软件开发工具与软件开发环境
软件开发工具
(2)软件开发环境
软件开发环境或称软件工程环境是全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。
结构化分析方法需求分析与需求分析方法
需求分析
需求的定义
1
文档评论(0)