没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
第一周学习
软件工程概述
软件危机
软件工程的基本原理
软件工程方法学
生命周期方法学
面向对象方法学
为了更有效的开发和维护软件,软件工作者在20世纪60年代后期开始认真研究消除
软件危机的途径,从而逐渐形成了一门新兴的学科----计算机软件工程学(简
称“软件工程”)。
概念 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
面临的两个问题
如何开发软件,以满足对软件日益增长的需求
如何维护数量不断膨胀的已有软件
典型表现
1.对软件开发成本和进度的估计常常很不准确
2.用户对“已完成的”软件系统不满意的现象经常发生
3.软件产品的质量往往靠不住
4.软件常常是不可维护的
5.软件通常没有适当的文档资料
6.软件成本在计算机系统总成本中所占的比例逐年上升
7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势
产生原因
一方面与软件本身的特点有关
另一方面也与软件开发和维护的方法不正确有关
目前许多软件专业人员对软件开发和维护还有不少糊涂观念,在实践中或多或少的
使用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因
软件缺乏“可见性”,在写出程序代码并在计算机上试运行之前,软件开发过程的
进展情况较难衡量,软件的质量也较难评价,因此软件维护通常意味着改正或修改
原来的设计,这就在客观上使得软件较难维护。
软件规模庞大,而且程序复杂性随之程序规模的增加而呈指数上升
错误的认识和做法:忽视软件需求开发的重要性,认为软件开发就是写程序并设法
使之运行,轻视软件维护等。
对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主
要原因之一
消除的途径
对计算机软件有一个正确的认识,应该彻底消除在计算机系统早期发展阶段形成
的“软件就是程序”的错误观念。(软件是程序,数据及相关文档的完整集合)
从技术和管理两方面入手,研究如何更好的开发和维护计算机软件
定义
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念,原理,
技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够
得到的最好的技术方法结合起来,以经济的开发出高质量的软件并有效的维护它,
这就是软件工程。
本质特征
(1)软件工程关注于大型程序的构造
(2)软件工程的中心课题是控制复杂性
(3)软件经常变化
(4)开发软件的效率非常重要
(5)和谐的合作是开发软件的关键
(6)软件必须有效的支持它的用户
(7)在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人
创造产品
1.用分阶段的生命周期计划严格管理
2.坚持进行阶段评审
3.实行严格的产品控制
4.采用现代程序设计技术
5.结果应能清楚地审查
6.开发小组的人员应该少而精
7.承认不断改进软件工程实践的必要性
通常把在软件生命周期全过程中使用的一整套技术方法的集合成为方法学,也称为
范型
包含3个要素:方法,工具和过程
软件工程包括技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科
也称传统方法学或结构化范型,采用结构化技术(结构化分析,结构化设计,结构
化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支
持结构化技术的运用。
该方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序的完成每个阶
段的任务。每个阶段的开始和结束都有严格的标准,在每个阶段结束前都必须进行
正式严格的技术审查和管理复审,从技术和管理另个方面对这个阶段的开发成果进
行检查,通过之后该阶段的工作才算结束;如果没通过检查,则必须进行必要的返
工,而返工后还要再经过审查。
与传统方法学相反,面向对象方法把数据和行为看成是同等重要的,它是一种以数
据为主线,把数据和对数据的操作紧密结合起来的方法。
要点
(1)把对象作为融合了数据及在数据上的操作行为的统一的软件构件
(2)把所有对象都划分成类
(3)按照父类和子类的关系,把若干个相关类组成一个层次结构的系统(也称为
类等级)
(4)对象彼此间只能通过发送消息互相联系
优点
降低了软件产品的复杂性,提高了软件的可理解性,简化了软件开发和维护的工
作,促进了软件的重用,面向对象方法特有的继承性和多态性,进一步提高了面向
对象软件的可重用性。
精神小伙尔
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0