第三章软件工程基础讲稿.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE10第三章软件工程基础

PAGE10

第三章软件工程基础

第三章软件工程基础

软件工程基本概念

一、软件的定义与软件特点

1、软件的概念

国标(GB)中对软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

软件包括程序、数据和有关的文档。

2、软件的特点

软件是逻辑产品,而不是物理实体,它具有无形性,通过计算机的执行才能体现它的功能和作用;

没有明显的制作过程,其成本主要体现在软件的开发和研制上,可进行大量的复

制;

不存在磨损和消耗问题;

软件的开发、运行对计算机系统具有依赖性;

开发和维护成本高;

软件开发涉及诸多社会因素。

3、软件的分类

软件分应用软件、系统软件和支撑软件3类。

应用软件是特定应用领域内专用的软件;

系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计

算机使用效率并为计算机用户提供各种服务的软件;

支撑软件介于系统软件和应用软件之间,是支援其他软件的开发与维护的软件。二、软件危机与软件工程

1、软件危机

软件危机主要表现在:

软件需求的增长得不到满足;

软件开发成本和进度无法控制;

软件质量难以保证;

软件不可维护或维护程度非常低;

软件成本不断提高;

软件开发生产效率的提高赶不上硬件的发展和应用需求的增长。总之,可以将软件危机归结为成本、质量和生产率等问题。

2、软件工程的产生

为了摆脱软件危机,北大西洋公约组织成员国软件一工作者于1968年和1969年两次召开会议(NATO会议),认识早期软件开发中所存在的问题和产生问题的原因,提出软件工程的概念。

软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

三、软件工程过程与软件生命周期

1、软件工程过程包含4种基本活动:

(l)软件规格说明P(Plan):规定软件的功能及其运行机制;

软件开发D(Do):产生满足规格说明的软件;

软件确认C(Check):确认软件能够满足客户提出的要求;

软件演进A(Action):为满足客户的变更要求,软件必须在使用的过程中演进。

2、软件生命周期

软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期三个阶段:软件定义、软件开发、运行维护。

软件生命周期划分为8个阶段,即可行性研究与计划、需求分析、概要设计、详细设计、实现、综合测试、确认测试、使用与维护。

四、软件工程的目标与原则

1、软件工程的目标

软件工程的目标是,在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性巨满足用户需求的产品。

软件工程研究的内容主要包括:

软件开发技术。

软件工程管理

2、软件工程的原则

抽象。抽象事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层细化的办法控制软件开发过程的复杂性。

信息隐蔽。采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简

单。

模块化。模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口

定义。模块的大小要适中。

局部化。要求在一个物理模块内集中逻辑上相互关联的计算资源,保证模块间具有松散的耦合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。

确定性。软件开发过程中所有概念的表达应是确定的、无歧义的且规范的这有助于人与人的交互,不会产生误解和遗漏,以保证整个开发工作的协调一致。

一致性。包括程序、数据和文档的整个软件系统的各模块应使用已知的概念、符号和术语;程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。

完备性。软件系统不丢失任何重要成分,完全实现系统所需的功能:

可验证性。开发大型软件系统需要对系统自顶向下,逐层分解。系统分解应遵循容易检查、测评、评审的原则,以确保系统的正确性。

五、软件开发工具与软件开发环境

1、软件开发工具。是协助开发人员进行软件开发活动所使用的软件或环境,它包括需求分析工具、设计工具、编码工具、排错工具、测试工具等。

2、软件开发环境。是指全面支持软件开发全过程的软件的工具集合。

结构化分析方法

一、需求分析与需求分析与方法

1、需求分析

软件需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。

需求分析阶段的工作概括为4个方面:

①需求获取;

②需求分析;

③编写需求规格说明书;

④需求审评。

2、需求分析方法

(l)结构化分析方法。

主要包括:面向数据流的结构化分析方法(SA)、面向数据结构的Jackson方法(JS

文档评论(0)

mph + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档