文档详情

个体软件设计过程(psp.ppt

发布:2017-12-05约4.79千字共21页下载文档
文本预览下载声明
《个体软件过程》 郑州大学软件学院 徐婷 1-* 第1章 软件工程师的任务 个体软件过程 教师:徐婷 E-mail:ietxu@zzu.edu.cn QQ: 149430250 第1章 软件工程师的任务 目的要求 了解软件工程师的任务,学习和改善有关软件工程方面技能的策略。 了解学习本课程过程中的所要完成的主要任务。 重点难点 重点:个体软件过程的概念,初步了解个体软件过程的作用 难点:个体软件过程的步骤,了解个体软件过程的作用。 1.1 什么是软件工程 通用汽车“修理”微软的笑话 微软公司创办人比尔盖兹说:“如果通用汽车(美国最大的汽车制造商)能使他们的科技进展速度如同咨讯产业的进展速度,那么我们今天的汽车售价仅需25美元,每一加仑汽油可以跑1000英里。” 通用汽车当时的总裁杰克威治回应比尔盖兹的评论:如果通用汽车发展科技的方式如同微软一样,那么我们今天的汽车就有以下特色: 1.. 汽车每天会毫无理由的撞毁(Crash)两次。   2.. 每一次道路标线重漆或是交通标识改变,你就必须买一辆新车。   3.. 有时候你的汽车会毫无理由在高速公路上停下来,你只好接受事实,然后重新发动、重新上路。   4.. 有时候,你操控汽车右转、左转或倒车时,可能造成汽车熄火,而且拒绝再度发动,唯一解决方法是重新安装引擎。   ……   10.. 有时候你的汽车会毫无理由将你锁在门外,唯一的进入方式是同一时间右手拉着车门开关、左手转动车钥匙、口内咬着汽车天线。…… 1.1 什么是软件工程 软件工程师的任务 开发高质量的软件产品 在预期费用内工作 在预定进度下完成 软件工程师的工作 制订工作计划 按此计划工作 尽最大努力生产高质量产品 COMPUTER SCIENCE CUSTOMER SOFTWARE ENGINEERING Theories Computer Functions Problem Tools and Techniques to Solve Problem 软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。 1.1 什么是软件工程 1.2 为什么工程质量很重要 软件失控项目:就是由于在创建系统所需软件时遇到困难,从而导致大大超出可控制范围的项目。 例:某X公司在生产SYS系统时落后进度表M个月,而预算也超出了D元,看来取消这个项目应经不可避免了,而这总共花费了该公司S美元。 软件项目失控表现为: 目标未能实现 时间延后 费用超出预算 eg: 丹弗国际机场行李处系统 投资1.93亿美元,地下行李输送系统,计划在1993年完成,但到1994年6月仍无法预测何时可稳定使用。 IBM OS/360 系统 1.2 为什么工程质量很重要 IBM公司于1963年~1966年开发的IBM360系列机的操作系统。该软件系统花了大约5 000人年的工作量,最多时,有 1000人投入开发工作,写出近100万行的源程序。尽管投入了这么多的人力和物力,得到的结果却极其糟糕。据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。可想而知,这样的软件质量糟到了什么地步。 难怪该项目的负责人F·D·希罗克斯在总结该项目时无比沉痛地说:“……正像一只逃亡的野兽落到泥潭中作垂死挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难,……程序设计工作正像这样一个泥潭……一批批程序员被迫在泥潭中拼命挣扎,……,谁也没有料到问题竟会陷入这样的困境……。” IBM360操作系统的历史教训已成为软件开发项目中的典型事例被记入历史史册。 IBM OS/360 相关概念 两难境地:项目面临无法达到最初目标的威胁(费用、进度、功能),而项目团队在努力想要跨越该困难。 死亡进军:如果项目的各项参数超出正常标准至少50%(进度、预算、性能)就是死亡进军项目。 软件危机:软件总是超出预算,落后于进度表,而且不可靠。 随着计算机在各个领域的广泛应用,软件中的缺陷变得越来越危险,甚至危及人的生命。 Therac-25放射性治疗仪[美国]:有一次由于其软件出错而使其控制系统失灵,导致多名病人失去生命 1.2 为什么工程质量很重要 1.3 个体软件过程 个体软件过程 (Personal Software Process , PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。 它告诉工
显示全部
相似文档