软件工程实践(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一讲
软件工程原理
内容和目的
为什么要实施软件工程? 实施软件工程的益处? 软件工程的基本内容?
计算机系统工程
概念 系统分析和定义 软 件
系统(总体 )设计
硬 件
软件工程
硬件工程
计算机软件
计算机软件定义(GB):
a. 与计算机系统的操作有关的计算机程 序、规程、规则,以及可能有的文件、文档 及数据。 b. 与计算机系统的操作有关的程序、规 程、规则及任何与之有关的文档。
软件危机...
计算机硬件性能/价格比和质量稳步提高 软件成本逐年上升,质量没有可靠的保证 软件已成为限制计算机系统发展的关健因素 将软件开发和维护过程中遇到的一系列严重问题 统称为“软件危机” 在60年代后期开始认真研究解决软件危机的方 法,逐步形成了新兴的计算机软件工程学
...软件危机
要求在定义、开发和维护阶段的每一步中都采用经 过验证的方法 要求一系列的复查,以便在产品开发中保证质量 规定在每一步中要产生的特定的文档 鼓励能够加速开发的各种工具和方法的使用与研制 提供从原始产品概念到最后产品制造的一个可追溯 的途径
有了目标的一般描述就可以开始写程序
对软件开发的错误认识(3)
项目需求不断变化,但软件很灵活,变 化能够很容易地得到满足
软件需求的变化确实是经常的,但其产生的 影响随着引入的时间不同而不同
写出程序并使其正常运行,工作就结束 了
越早开始写程序,就要花越长时间才能够完 成
对软件开发的错误认识(4)
另一方面与软件开发和维护方法不正确有关, 这是主要原因。
特别是忽视软件需求分析的重要性
忽视软件需求分析的重要性
对用户要求没有完整准确的认识就匆忙 着手编写程序 软件Βιβλιοθήκη Baidu发与编程等同 忽略文档 软件定义不明 轻视维护
对软件开发的错误认识(1)
已经有了关于建造软件的标准和规程
课程内容(新)
第一讲 软件工程原理 第二讲 软件过程 第三讲 结构化方法概论 第四讲 需求分析 第五讲 软件设计 第六讲 软件编码和调试 第七讲 软件可靠性安全性设 计指南 第八讲 软件测试 第九讲 软件维护和软件重用
第十讲 项目管理概念和资质评估 第十一讲 软件项目策划 第十二讲 项目控制和风险管理 第十三讲 配置管理和需求管理 第十四讲 质量保证和评审与审查 第十五讲 SW-CMM介绍 第十六讲 SPI和SW-CMM评估 第十七讲 A5案例 第十八讲 新发展热点 第十九讲 复习 第二十讲 考试
使用了吗? 开发者知道吗? 适用吗? 完整吗? 还需要计算机辅助软件工程(CASE)工具
已经有了很好的软件开发工具
对软件开发的错误认识(2)
如果计划落后,可以增加人员赶回来
给一个已经延迟的软件项目增加人手只会使 其更加延迟 原有人员需要抽实践训练新手 不完善的系统定义是项目失败的主要原因
产生软件危机的原因
一方面与软件本身的特点有关
在软件运行前,软件开发过程的进展难衡量,质量 难 评价,因此管理和控制软件开发过程相当困难; 在软件运行中,软件维护意味着改正或修改原来的 设计,较难维 护; 软件的显著特点是规模庞大,复杂度超线性增长。 要保证高质量 大型软件的开发,极端复杂困难,不 仅涉及技术问题(如分析方 法、设计方法、版本控 制),更重要的是必须有严格而科学的管理。
课程目的
面向软件工程的工程应用 了解软件工程的基本概念 了解软件工程过程 掌握基本的软件工程技术方法 掌握基本的软件工程管理方法
课程安排
60学时(20周,每周3学时),20讲 参考教材:《软件工程 —— 实践者的研 究方法》,(美)Roger S. Pressman著, 第四版,黄柏素、梅宏 译,北京:机械 工业出版社,1999年10月
什么是软件危机?
软件危机是指在计算机软件的开发和维护中 所遇到的一系列严重问题。 几乎所有软件都不同程度地存在这些问题 概括地说软件危机包含两方面问题:
如何开发软件,怎样满足对软件的日益增长的需 求 如何维护数量不断膨胀的已有软件
软件危机主要表现
1.对软件开发成本和进度的估计很不准确 2.用户对“已完成的”软件不满意的现象经常发生 3.软件产品的质量靠不住 4.软件不可维护 5.软件没有适当的文档资料 6.软件成本占计算机系统总成本的比例逐年上 升 7.软件开发生产率提高的速度远远跟不上计算机应 用迅速普及深入的趋势
在程序真正开始运行前,无法评估其质 量
正式的技术评审 质量过滤器 软件=程序+文档+数据 文档是成功开发的基础 文档为维护提供指导
成功项目唯一应该提交的就是运行程序
解决办法...
全 面解决软件危机需要一 系列综合措施:
在软件研制的各个阶段采用好的工具; 对软件的实现提供有效的构件块; 为保证软件质量提供自动设计技术; 以及为协调、控制、管理提供基本理论和技 术——软件工程。
...解决办法
软件工程这一要素将驾驭前面的工具、 构件决和技术 软件工程把管理、控制、评审等方法与 分析、设计、编码、测试、维护等技术 结合起来 没有坚实的软件开发方法学,即使最先 进的工具和技术也不能使软件危机有所 减轻
软件工程—工程化方法
用于解决任何产品开发的一种工程化方法是:
课时
每周二晚上6:40开始 二号楼106多媒体教室 每节课45分钟,休息10分钟 第一节课6:40-8:00 休息15分钟(8:00-8:15) 第二节课8:15-9:10
课程内容(旧)
第一讲 软件工程原理 第二讲 软件过程 第三讲 结构化方法概论 第四讲 需求分析 第五讲 需求分析方法 第六讲 软件设计 第七讲 软件设计方法 第八讲 软件编码和调试 第九讲 软件可靠性安全性设 计指南 第十讲 软件测试策略 第十一讲 软件测试方法 第十二讲 软件维护和软件重 用 第十三讲 软件项目策划 第十四讲 项目控制和风险管 理 第十五讲 软件配置管理和需 求管理 第十六讲 软件质量保证和软 件评审与审查 第十七讲 SW-CMM介绍 第十八讲 新发展热点 第十九讲 复习 第二十讲 考试