软件工程1(西南交通大学软件工程)剖析.ppt
文本预览下载声明
1.4.8 微软过程 1.微软过程准则 2.微软软件生命周期 (1)规划阶段 (2)设计阶段 (3)开发阶段 (4)稳定阶段 (5)发布阶段 3.微软过程模型 问题定义就是要确定为用户建立什么样的软件系统,软件叫什么样的名称等等。“问题”是指软件最基本的问题,如: 软件的总体目标什么? 有什么用途? 为那些用户设计? 1.5 问题定义阶段 问题定义报告的内容包括: 1)软件项目标题; 2)软件目标; 3)软件用户对象; 4)软件规模。 问题定义是软件生命周期中时间最短的阶段,一般都比较简单,因此在实际开发中它是最容易被忽视的一个阶段。 这一阶段工作主要由系统分析员来完成,系统分析员要尽可能从较高的角度概括软件所要做的工作,而不用写明问题的实现细节。 软件工程 ( Software Engineering ) 第1章:软件工程学概述 1.1 软件危机 60年代中期以前:通用硬件相当普遍,软件却是为某个具体的应用而编写的。 60年代中到70年代中:软件作坊。 软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。(正常、不正常运行软件都具有这种问题) 1.1.1 软件危机的介绍 1)对软件开发成本和进度的估计常常很不准确; 2)用户对完成的软件系统不满意的现象经常发生; 3)软件产品的质量往往靠不住; 软件危机的典型表现: 4)软件常常是不可维护的; 5)软件通常没有适当的文档资料; 6)软件成本在计算机系统总成本中所占的比例逐年上升; 7)软件开发生产率提高的速度跟不上计算机应用的发展趋势。 1.1.2 产生软件危机的原因 1)软件本身特点造成; 2)软件开发与维护的方法不正确。 主要表现: (a)忽视软件需求分析; (b)认为软件开发就是写程序并使之运行; (c)轻视软件维护; 在软件开发的不同阶段进行修改需要付出的代价很不相同: 高 中 低 早期 中期 后期 软件开发时期 代价 引入同一修改的代价随时间变化的趋势 1)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法; 2)开发和使用更好的软件工具; 3)良好的组织管理措施。 1.1.3 解决软件危机的途径 为了解决软件危机产生的问题,软件工程与方法学逐渐形成,然后出现了两个相互相承又各有侧重的学科: 1)软件工程学:主要应用工程的方法和技术研究软件开发与维护的方法、工具和管理的一门交叉学科。 2)程序设计方法学:主要应用数学的方法研究程序的性质以及程序设计的理论和方法的学科。 1.2 软件工程 1.2.1 软件工程的介绍 1968年NATO会议:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。 1993年IEEE:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程;(2)研究(1)中提到的途径。 1. 软件工程关注于大型程序的构造; 2. 软件工程的中心课题是控制复杂性; 3. 软件经常变化; 4. 开发软件的效率非常重要; 5. 和谐地合作是软件开发的关键; 6. 软件必须有效地支持它的用户; 7. 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。 软件工程的本质特性: 1.2.2 软件工程的基本原理 1. 用分阶段的生命周期计划严格管理; 2. 坚持进行阶段评审; 3. 实行严格的产品控制; 4. 采用现代程序设计技术; 5. 结果能清楚地审查; 6. 开发小组的人员应该少而精; 7. 承认不断改进软件工程实践的必要性。 1.2.3 软件工程方法学 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(Methodology),也称为范型(Paradigm)。 软件工程方法学的3要素:方法、工具和过程 1. 传统方法学 也称为生命周期方法学或结构化范型。 结构化方法(Structure Method)有: 1)结构化设计方法(SD); 2)结构化分析方法(SA); 3)结构化分析与设计技术(SADT) 4)JACKSON方法 5)WARNIER方法 2. 面向对象方法学 把数据和对数据的操作紧密结合起来的方法,模拟人类认识世界解决问题的方法和过程。 面向对象的方法 =对象(属性与服务的封装) +分类 +继承 +通过消
显示全部