- 1、本文档共705页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程动工(完整ppt教程)
软件工程;第1章:软件工程学概述; 软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。(正常、不正常运行软件都具有这种问题) ;1)对软件开发成本和进度的估计常常很不准确;
2)用户对完成的软件系统不满意的现象经常发生;
3)软件产品的质量往往靠不住; ;4)软件常常是不可维护的;
5)软件通常没有适当的文档资料;
6)软件成本在计算机系统总成本中所占的比例逐年上升;
7)软件开发生产率提高的速度跟不上计算机应用的发展趋势。 ;1.1.2 产生软件危机的原因; 在软件开发的不同阶段进行修改需要付出的代价很不相同:;1)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法;
2)开发和使用更好的软件工具;
3)良好的组织管理措施。 ; 为了解决软件危机产生的问题,软件工程与方法学逐渐形成,然后出现了两个相互相承又各有侧重的学科:
1)软件工程学:主要应用工程的方法和技术研究软件开发与维护的方法、工具和管理的一门交叉学科。
2)程序设计方法学:主要应用数学的方法研究程序的性质以及程序设计的理论和方法的学科。 ;1.2 软件工程; 1. 软件工程关注于大型程序的构造;
2. 软件工程的中心课题是控制复杂性;
3. 软件经常变化;
4. 开发软件的效率非常重要;
5. 和谐地合作是软件开发的关键;
6. 软件必须有效地支持它的用户;
7. 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。;1.2.2 软件工程的基本原理;1.2.3 软件工程方法学
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(Methodology),也称为范型(Paradigm)。
软件工程方法学的3要素:方法、工具和过程;1. 传统方法学
也称为生命周期方法学或结构化范型。
结构化方法(Structure Method)有:
1)结构化设计方法(SD);
2)结构化分析方法(SA);
3)结构化分析与设计技术(SADT)
4)JACKSON方法
5)WARNIER方法;2. 面向对象方法学
把数据和对数据的操作紧密结合起来的方法,模拟人类认识世界解决问题的方法和过程。
面向对象的方法
=对象(属性与服务的封装)
+分类
+继承
+通过消息的通讯;1)适用于实时事物处理系统的有限状态机方法(FSM);
2)适用于并发软件系统的PETRI网方法;
3)以数学概念和理论为基础的形式化方法,如
SDC公司的形式化开发方法FDM:
(Formal Development Methodology)
IBM公司的维也纳开发方法VDM:
(Vienna Development Method ) ;1.3 软件生命周期;软件生命周期组成:
1)软件定义;
A.问题定义 B.可行性研究 C.需求分析
2)软件开发;
D.总体设计 E.详细设计
F.编码和单元测试 G.综合测试
3)运行维护。; 1.问题定义;
2.可行性研究;
3.需求分析;
4.总体设计(概要设计);
5.详细设计;
6.编码与单元测试;
7.综合测试;
8.维护。;1.4 软件过程;1.4.1 瀑布模型;优点:采用规范的方法;严格规定每个阶段提交的文档;要求每个阶段交出的产品必须经过验证。;1.4.2 快速原型模型
优点:不带反馈环,基本上是线性顺序进行。;1.4.3 增量模型;一种风险更大的增量模型:;1.4.4 螺旋模型
可把它看作在每个阶段之前都增加风险分析的快速原型模型。;;1.4.5 喷泉模型;1.4.6 Rational 统一过程;1.4.7 敏捷过程与极限编程;1.4.8 微软过程; 问题定义就是要确定为用户建立什么样的软件系统,软件叫什么样的名称等等。“问题”是指软件最基本的问题,如:
软件的总体目标什么?
有什么用途?
为那些用户设计? ;问题定义报告的内容包括:
1)软件项目标题;
2)软件目标;
3)软件用户对象;
4)软件规模。; 问题定义是软件生命周期中时间最短的阶段,一般都比较简单,因此在实际开发中它是最容易被忽视的一个阶段。
文档评论(0)