如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
主讲:王慧芳Tel:87951587(教二108)、13958080300E-mail:huifangwang@zju.edu.cn教材猜数字第一讲软件及软件危机计算机软件已经成为一种驱动力软件定义软件生产的发展软件—定义软件特点硬件的故障率曲线(浴缸曲线)软件的故障率曲线(理想情况下)软件的故障率曲线(实际情况下)软件分类—按软件功能划分例:美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。......这个项目负责人F.D.Brooks事后总结了他在组织开发过程中的沉重教训时说:“……正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深。最后无法逃脱灭顶的灾难,……程序设计工作正像这样一个泥潭,……一批批程序员被迫在泥潭中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……”。关于本项目的经验积累可以看F.D.Brooks的著作《人月神话》(UMLChina翻译组汪颖/译,清华大学出版社出版)。软件危机—介绍软件危机的表现用户对完成的软件系统不满意现象经常发生;软件产品的质量往往靠不住;Bug一大堆,Patch一个接一个。软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统成本中所占的比例逐年上升;软件开发生产率提高的速度远远跟不上硬件的发展和人们需求的增长。产生软件危机的原因引入同一变化付出的代价随时间变化的趋势消除软件危机的途径软件及软件危机软件工程产生软件工程目标美国软件工程实践的现状当前的软件实践软件工程经典定义(1)软件工程经典定义(2)软件工程经典定义(3)软件工程定义软件工程研究内容:软件的管理过程【例】若要开发一个软件系统(如图书馆信息系统),为了完成这项任务,首先要选择软件开发模型,确定开发方法、准备开发工具、设计开发环境和运行环境,然后进行需求分析、设计、编程、测试、试运行、正式运行、验收和交付,最后是系统维护或系统升级换代。这样就按照所选择的开发模型,走完了软件的一个生命周期,这一系列的软件开发过程和管理过程,就是软件工程。软件工程的基本原理软件工程的基本原理(最小集合)新原理-二八定律软件工程在软件企业中的作用软件营销人员。他们应具备的基本条件是:营销知识、售前知识、加上软件工程基本知识。他们要用软件工程的基本思路,来与用户进行沟通,以赢得客户的信任。从项目团队来讲,软件工程的作用在于:在规定的时间和成本内,完成预期质量目标的软件。从软件企业来讲,软件工程的作用在于:持续地规范软件开发过程和软件管理过程,不断地优化软件组织的个人素质和集体素质,从而逐渐增强软件企业的市场竞争实力。从软件发展进程来讲,软件工程的作用在于:克服软件危机,控制软件进度,节约软件成本,提高软件质量。软件工程和信息管理系统软件及软件危机软件开发方法案例分析一个有工科专业背景的人,若能掌握软件开发相关知识,那他在从事本专业软件开发时将比仅具有软件开发知识的人具有更大的优势。实践性大作业(实验课)分组选题