软件所软件工程讲义(经典).ppt

上传人:b****2 文档编号:2643819 上传时间:2022-11-04 格式:PPT 页数:128 大小:4.24MB
下载 相关 举报
软件所软件工程讲义(经典).ppt_第1页
第1页 / 共128页
软件所软件工程讲义(经典).ppt_第2页
第2页 / 共128页
软件所软件工程讲义(经典).ppt_第3页
第3页 / 共128页
软件所软件工程讲义(经典).ppt_第4页
第4页 / 共128页
软件所软件工程讲义(经典).ppt_第5页
第5页 / 共128页
点击查看更多>>
下载资源
资源描述

软件所软件工程讲义(经典).ppt

《软件所软件工程讲义(经典).ppt》由会员分享,可在线阅读,更多相关《软件所软件工程讲义(经典).ppt(128页珍藏版)》请在冰豆网上搜索。

软件所软件工程讲义(经典).ppt

软件工程SoftwareEngineering主讲:

郑有才单位:

软件学院(软件工程研究所)教材:

实用软件工程中郑人杰殷人昆陶勇雷清华大学出版社出版软件工程(教学内容)概述第一章软件工程概论第二章系统分析第三章软件需求分析第四章软件设计第五章用户界面设计第六章程序编码第七章软件测试第八章软件维护第九章软件工程标准化与软件文档第十章软件项目管理与计划软件工程参考书:

1.软件工程技术概论中朱三元等2.软件工程美ShariLawrencePfleeger全英3.软件项目管理美PhilipMetzger中译4.软件开发的滑铁卢美RobertL.Glass中译5.现代软件工程(上)管理技术篇中周之英,科学出版社6.软件工程学教程中周苏王文科学出版社软件工程(序一)l1软件产业l软件产业是一个朝阳的、新兴的知识型产业。

一个国家软件业的发达程度,同样体现了国家的综合国力,决定着国家未来的国际竞争地位。

目前,中国的软件企业正处于高速发展、急需规范管理并以项目为主导的环境中。

企业每天所面对的不仅仅是几个越来越多的大型项目,而将是成百上千不断发生和进行的项目。

产生这种变化的因素是多方面的,这包括客户需求的不断提高导致产品生命周期缩短;产品开发项目数量大增;新技术的引入;为了提高业务赢利能力,改进业务模式的项目大增等。

在这种多项目并发、技术含量高、变化速度快、资源有限的环境下,如何对企业、项目、资源实施科学的管理,加强团队能力,实现软件企业生产的规模化、规范化、国际化,是当前我国软件业面临的最大挑战。

调查表明,大约70%的软件开发项目超出了估算的时间,大型项目平均超出计划时间20%到50%,90%以上的软件项目开发费用超出预算,并且项目越大,超出项目计划的程度越高。

l软件工程(序二)1软件产业(续)中国目前软件企业的落后状况,实际上已不是技术本身的问题,而是科学管理的问题,软件工程理论与软件项目管理的实际应用与经验,是我国软件企业急待学习和渴望的。

中国软件业在各个层次上的管理问题,目前已经制约了中国软件走向国际化的进程。

(以上观点出自:

信息产业部电子信息产品管理司司长,中国软件行业协会副理事长陈冲)。

2差距根据印度全印软件服务公司协会统计,2000年至2001年度印度计算机软件出口额达到62亿美圆,比上一年度增长55%。

在全球软件开发市场中占据份额为16.7%,出口软件在国际软件市场的占有率接近20%,仅次于美国。

在世界银行对各国出口软件能力的调查中,印度软件的出口规模、质量、成本三项指标位居世界首位。

比尔.盖茨曾宣称,未来的软件超级大国不是美国,不是日本,也不是欧洲,而是印度。

欧洲的农牧业国家爱尔兰也充分抓住了世界信息技术发展的机遇,推动软件产业的发展,经过近10年的发展,其信息产业的发展水平已经走在了世界前列。

和印度比,我国的软件产业总产值只相当于印度的1/3,而软件出口额则只有印度的1/40。

(以上数据出自:

北京现代卓越管理技术交流中心陈勇强)。

软件工程(序三)3思考西方发达国家在软件行业的发展初期也吃了重技术轻管理的苦头,付出了高昂的代价。

如前所述,印度虽然综合国力并不很强,但软件行业也成为其支柱产业之一,成为世界公认的软件大国。

中国如此之大,人才济济,为什么不能超过印度?

本人认为除了国家应该在政策方面给予倾斜外,一个重要的方面就是软件行业自身如何提高软件项目管理水平?

4解决1)国家政策的倾斜:

主要体现在三个方面

(1)自主软件

(2)软件企业的税收优惠(3)软件管理层人才的培养-35所软件学院2)软件项目管理水平的提高最原始的,也是最有效的-软件工程和管理人才的培养第一章软件工程概述

(1)1.1软件的定义软件的定义软件是程序、数据及其相关文档的集合。

程序:

按事先设计的功能和性能要求执行的指令序列。

数据:

使程序能正常操纵信息和正确运行的的数据结构。

文档:

与程序开发、维护和使用有关的图文资料。

1.2软件的特点软件的特点1.软件是一种逻辑实体,而不是具体的物理实体。

具有抽象性。

无法看到软件的形态,必须通过观察、分析、思考、判断了解它的功能、性能和其它特性。

2.软件没有明显的生产过程。

可复制性。

引发的问题:

软件的质量控制在开发过程中进行;产品保护。

第一章软件工程概述

(1)l软件的定义软件的定义(图示图示)软件程序文档数据源程序目标程序输入数据输出数据报告书设计书说明书功能说明书使用说明书维护说明书第一章软件工程概述

(2)3.软件没有磨损和老化,存在退化问题。

(SoftwareEngineeringTheoryandPracticeP464)Awhiledoconstructsdonotwearoutafter10,000loopsandsemicolonsdonotfallofftheendsofstatement.失效率(U型),退化原因(适应软件环境、用户需求),引发维护问题。

4.软件开发和运行常常受到计算机系统的限制(系统依赖性)。

引发移植性问题。

U时间失效率磨和调整磨损用坏硬件失效曲线第一章软件工程概述(3).软件开发至尽尚未完全摆脱手工艺方式。

引发软件工程、软件重用、自动化生成等技术。

时间失效率实际曲线理想曲线软件失效率曲线修改点第一章软件工程概述(4).软件是高度的复杂系统有人认为:

人类能够创造的最复杂的产物是计算机软件。

其复杂性来自于它反映的问题的复杂性。

软件技术滞后。

.软件成本是相当昂贵的软件的研制要投入大量的、复杂的、高强度的脑力劳动。

.软件工作是涉及到社会因素如:

企业管理软件(人、制度、业务流程等)法律因素年份成本1001995软件硬件第一章软件工程概述(5)1.3软件的发展与软件危机1.软件发展(三各阶段,教材P.7)2.软件危机1)诱因

(1)软件开发无计划性

(2)软件需求不充分(变化)(3)软件开发过程无规范(4)软件产品无评测手段2)主要表现

(1)经费预算上升,完成时间一再拖延

(2)开发软件不满足用户需求(3)可维护性差(4)没有软件质量保证体系,软件可靠性差3)主要原因软件的研制和维护本身是工程性任务,但软件人员所采用的方法却未能工程化。

4)结果软件危机5)解决的办法:

60年代末70年代初,兴起“软件工程”。

第一章软件工程概述(6)1.4软件工程过程和软件生存周期1.软件过程定义:

软件工程过程是再获取、供应、开发、操作和维护软件时,要实施的活动和任务。

主要过程:

获取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程。

2.软件生存期定义:

指一个软件从立项开始,经过制造、测试、使用、维护直到废弃为止的整个时期。

阶段:

6阶段(教材p.10)8阶段(国家标准)(计算机软件开发规范)1)可行性研究与计划;2)需求分析;3)概要设计;4)详细设计;5)实现;6)综合测试;7)确认测试;8)使用和维护。

第一章软件工程概述(7)3.软件生存期模型1)瀑布模型(W.Royce1970)可行性研究与计划需求分析设计实现测试使用和维护计划开发33维护6720152045第一章软件工程概述(8)1.5软件工程的基本目标1.软件工程定义定义:

B.Boehm运用现代科学技术知识来设计并构造计算机程序及为开发、运行、管理和维护这些程序所必须的相关文件资料。

IEEE1983:

对软件开发、运行、维护和退役的系统研究方法。

软件工程学教程陈明:

软件工程是指导计算机软件开发和维护的一门学科。

它采用工程的概念、原理、技术和方法,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于软件开发和维护。

2.软件工程的基本目标1)付出较低的开发成本;2)达到要求的软件功能;3)取得较好的软件性能;4)开发的软件易于移植;5)需要较低的维护费用;6)按时完成开发,及时交付。

(目标的互斥性)EndofChapterOneThanks2/9,2004第二章系统定义与计划

(1)系统定义与计划系统的概念可行性研究项目开发计划研究报告具体步骤成本效益系统流程主要任务第二章系统定义与计划

(2)第一节第一节系统的概念系统的概念一、基于计算机的系统二、计算机系统工程1.项目考虑2.商业考虑3.技术分析4.生产评估5.人员问题6.环境界面7.法律考虑三、硬件和硬件工程四、软件和软件工程第二章系统定义与计划(3)第二节第二节可行性研究可行性研究1.经济可行性2.技术可行性3.社会可行性4.抉择附件1.教学附件(可行性研究报告)附件2.计算机软件开发文档编写指南第二章系统定义与计划(4)第三节第三节项目开发计划项目开发计划附件1.教学附件(项目开发计划)第二章系统定义与计划(5)第四节第四节成本效益分析成本效益分析第十三章项目管理一章详细论述lEndofChapterTwolThanksl4/9,2003第三章软件需求分析软件需求分析需求分析概述Sa方法基本任务需求规格说明书基本概念描述工具分析步骤分析策略加工逻辑数据流图数据字典第三章软件需求分析第一节第一节需求分析的基本任务需求分析的基本任务需求分析需求规格说明书等Whatwanttodo?

功能性能限制分析员用户领域专家第三章软件需求分析当前系统模型化物理模型逻辑模型具体化物理模型实例化抽象化逻辑模型目标系统理解需求表达需求做什么?

怎么做?

第三章软件需求分析第二节第二节需求分析的过程需求分析的过程一、问题识别1.功能需求2.性能需求3.环境需求4.可靠性需求5.安全保密需求6.用户界面需求7.资源使用需求8.软件成本需求9.开发进度需求10.产品交付需求第三章软件需求分析二、分析与综合1.功能的可实现性2.性能可实现性3.环境可满足性4可靠性可保证性5.安全保密可实现性6.用户界面合理性7.资源可用性8.软件成本可行性9.开发进度可行性10.产品交付及时性目标系统解决方案第三章软件需求分析三、编制需求文档需求规格说明书等四、需求评审第三章软件需求分析第三节第三节需求分析原则需求分析原则一、表达和理解问题的数据域和功能域所有软件开发工作最终是对数据形式的一种转换。

其转换过程历经:

输入、加工、结果呈现三个阶段。

需求分析是对软件的数据域和功能域的分析表示方法。

即提供一种功能和数据表示机制,确定软件的功能和其他特性。

最终建立系统的逻辑模型。

数据域有三种属性:

数据流、数据内容、数据结构。

例:

学籍管理系统中的学生名册数据。

数据内容:

班级、人数、学生:

学号、姓名、性别、成绩等数据结构:

逻辑组织形式(线性表、层次、网)数据流:

网上招生作为原始数据第三章软件需求分析二、自顶向下、逐步求精(Top-Down,Refine-By-Step))数据转换机制功能分解机制第三章软件需求分析第四节第四节需求分析方法需求分析方法一、概述需求分析方法是对软件的数据域和功能域的分析表示方法。

即提供一种功能和数据表示机制,确定软件的功能和其他特性。

最终建立系统的逻辑模型。

二、结构化分析方法(70年代末,YourdonE.etc)1.范围:

数据处理类型2.特点:

图形表示需求。

清晰、简明、易学3.要点:

按照软件内部数据转换关系、自顶向下原则逐步分解,达解。

4.方法:

DeMarco:

数据流图、数据字典、结构化英语、判定数、判定表第三章软件需求分析(8)1.事务处理:

银行取款的数据流图第一部分数据流图(DFDDataFlowChart)储户检验登录付款取款信息帐卡存折存折取款单检验问题日历付款信息现金第三章软件需求分析(9)2.DFD方法的图形部件与图标(Icon)1)数据流:

箭头所示的数据通道2)加工:

动词断语3)数据源点、数据汇点4)数据存贮文件为了表示更复杂的加工和数据处理关系,引入其他数据流图符号。

3.数据流图的的画法1)先找数据源点和汇点

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1