- 1、本文档共89页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程与软件项目管理 一、软件危机与软件工程 二、软件过程及其模型 本章要点 一、软件危机与软件工程 二、软件过程及其模型 软件工程的含义 软件工程是一种方法论,而不是一种具体的摸得着、看得见的产品。 软件工程 (Software Engineering) 是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的工程。 软件的定义与特点 1.能够完成预定功能和性能的可执行的指令(计算机程序); 2.使得程序能够适当地操作信息的数据结构; 3.描述程序的操作和使用的文档。 软件的特点与本质 1.软件是一种逻辑实体,不是具体的物理实体。 2.软件是不可见性决定了它的抽象性,软件的本质是数字存在。 软件的载体有大脑意识载体、语言符号载体和电磁物理载体三种形式,软件在其电磁物理载体上表现为驻存型、执行型和传输型三种存在形态。软件只有经数字化才取得自己的存在地位,软件的本质是数字存在。 3.软件的生产是一种认知过程 4.软件的构造性与演化性 软件危机 “软件危机”的概念是在1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国召开的国际学术会议上才第一次提出,软件开发长期以来存在“开发周期长、成本高、质量差、适应性差、难维护”这四大难题,在早期我们称它为“软件危机”,它是计算机科学发展进程的必然产物,只不过到后来这种现象日渐严重,已经影响到计算机事业的发展,因而才引起各界的关注。 复杂性是“软件危机”的本质原因 无法解除危机是因为软件学科固有的本性,在规模上,软件实体可能比任何由人类创造的其它实体要复杂,因为没有任何两个软件部分是相同的。当它执行时,软件经过一种不连续的离散状态,一个“比特”位的变化就会导致整个软件状态的变化。而这种软件状态的总数量是惊人的。 布鲁克斯(Brooks)分别于1975和1987年出版了两本著名的软件工程知识著作“人月神话”和“没有银弹”(No Silver Bullet),Brooks的著名论断“软件工作是人类所从事的最复杂的工作.” 软件工程的三个要素 软件工程是一门新兴的边缘学科,涉及的学科多,研究的范围广。归结起来软件工程研究的主要内容有方法、工具和过程三个要素,它们构成了一种层次化的技术。整个体系结构反映了以质量为中心的观点。关注质量是软件工程的根本出发点和最终目标。 软件工具为软件工程方法提供支持,研究支撑软件开发方法的工具,建立软件工程环境,为方法的运用提供自动或者半自动的支撑环境,软件工具的集成环境,又称为计算机辅助软件工程(CASE)。 软件过程则是指将软件工程方法与软件工具相结合,实现合理、及时地进行软件开发的目的,为开发高质量软件规定各项任务的工作步骤。软件工程的根基在于质量关注点(quality focus)。 软件开发方法 软件的实质也主要牵涉“现实世界—概念世界—计算机世界”三个空间。因而软件设计方法也应在这三个范畴极限之内寻求发展。 经过30多年的研究与实践,人们已经摸索和建立了多种软件工程方法。譬如,结构化方法、形式化方法、面向对象方法、基于构件的方法、基于Agent的方法、基于净室技术的方法、基于敏捷技术的方法等。这些方法在自身的发展过程中又不断吸收其他方法和技术的长处,导致新技术新方法层出不穷,成为现代软件工程发展过程的亮点,从而不断丰富和发展了软件工程的理论与实践。 面向过程的结构化开发方法 结构化开发方法由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。这里所说的结构是指软件系统内各个组成要素之间的相互联系、相互作用的框架。 面向对象的开发方法 软件工程与相关科学的关系 软件工程的标准 国际标准化组织ISO IEEE 在软件工程标准方面,IEEE更贴近于软件工程的实际,如(IEEE 软件质量保证计划)、(IEEE软件配置管理计划》、(IEEE 软件测试文档标准)、《IEEE 软件需求规格说明的实施建议》、(IEEE软件单元测试标准)、(IEEE软件验证和确认标准)、(IEEE软件用户文档标准》等 。 中国国家标准 计算机辅助软件工程 在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,称为计算机辅助软件工程(Computer-Aided Software Engineering,简称CASE)。 职业道德与行为准则 和其他工程人员一样,软件工程人员必须承认他们的工作不仅仅是技术的应用,还要担负许多责任。他们的工作是在法律和社会的框架内完成
文档评论(0)