当前位置:文档之家› 软件工程导论

软件工程导论

12
软件的特点
§0.软件概论
❖ 软件是一种逻辑实体,而不是具体的物理 实体。因而它具有抽象性
❖ 软件的生产与硬件不同,在它的开发过程 中没有明显的制造过程
❖ 在软件的运行和使用期间,没有硬件那样 的机械磨损,老化问题
13
§0.软件概论
14
§0.软件概论
软件的开发和运行常受到计算机系统的限制, 对计算机系统有着不同程度的依赖性
2
教材
软件工程导论(第四版)
张海藩 清华大学出版社(2003)
软件工程
3
参考书目
实用软件工程 (第二版)
郑人杰 殷人昆 陶永雷 清华大学出版社(1996)
软件工程
软件工程 -实践者的研究方法 (英译版 第五版)
Roger S. Pressman 机械工业出版社
4
软件工程
课程评分方法
大作业 30% + 期末考试 70% = 总评 100%
19
按软件规模进行划分:
§0.软件概论
类别 参加人员数 研制期限 源程序行数
微型 1
1~4周
0.5k
小型 1
1~6月 1k~2k
数值计算或数据处理. 通常没有与其它程序的 接口。需要按一定的标准化技术、正规的资料书写
以及定期的系统审查。只是没有大题目那样严格。
中型 2~5
1~2年 5k~50k
应用程序和系统程序。软件人员之间、与用户
软件的开发至今尚未完全摆脱手工艺的开发 方式
软件本身是复杂的 实际问题的复杂性
程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素
15
§0.软件概论
16
软件的分类
§0.软件概论
❖ 按软件的功能进行划分:
系统软件
使计算机系统各个部件、相关软件和数据协调、 高效地工作的软件
1
《软件工程》
近二十年来计算机软件已经成为现代科学 研究和解决工程问题的基础,以及管理部门、 生产部门、服务行业中的关键因素,渗透到了 各个领域,成为当今世界不可缺少的一部分。
展望二十一世纪,软件仍将成为驱动任何事 情, 从基础教育到遗传工程取得新进展的动力。
学习研究工程化的软件开发方法,使开发 过程更加规范,是我们学习的目标和动力。
极大型 2000~5000 5~10年 1M~10M
军事指挥、弹道导弹防御系统。
21
只是对软件工程技术依赖的程度不同而已。
§1.软件危机 (Software Crisis)
在60年代中期以前:
个体化软件开发方法. 用户 程序员(编写者=使用者),无文档 资料
学会与他人合作,培养团队精神,单干 户将得不到成绩。
分组:班长组织
每组6-8人,选一个组长。
组长负责:组织、分工、安排进度、作业提交等。
作业提交: 每组一个, 但必须注明分工.
10
第一章 软件工程学概述
§0. 软件概论
▪ 什么是软件
▪ 软件的分类
▪ 软件的发展
§1. 软件危机
▪ 软件危机的表现
▪ 软件危机的原因
《软件工程》
软件业是决定21世纪国际竞争地位的战略 性产业,是信息时代的朝阳产业。
1.软件产业是信息产业的核心,是国际竞 争的焦点和战略制高点。
2. 软件关系到国家政治、经济和社会的安 全及民族文化的发扬光大。
3. 发展软件产业对优化我国产业结构、提 高经济运行质量具有极其重要的作用。
4.软件是国民经济建设中诸多关键技术的 基础。
§2. 软件工程
▪软件工程
▪软件工程的目的和要求
11
§0. 软件概论
❖ 软件是计算机系统中与硬件相互依存的另 一部分,它是包括程序,数据及其相关文 档的完整集合
❖ 程序是按事先设计的功能和性能要求执行 的指令序列
❖ 数据是使程序能正常操纵信息的数据结构 ❖ 文档是与程序开发,维护和使用有关的图
文材料
之间的联系、协调的配合关系。因而计划、资料书
写以及技术审查需要比较严格地进行。系统的软件
工程方法是完全必要的。
20
大型 5~20
2~3年 50k~§01.软00件k概论
编译程序、小型分时系统、实时控制系统等。二
级管理,若干小组,每组5人以下。人员调整往往不可
避免,新手的培训。采用统一的标准,实行严格的审查
及修改。
学生贷款管理(录入、删除及修改。查询) 学生保险管理(录入、删除及修改。查询) 学生就业管理(录入、删除及修改。查询) 学生勤工助学管理(录入、删除及修改。查询) 学生各种信息的多关键字检索查询。
7
能够对需要的统计结果提供打印输出。
能够提供一定的安全机制,提供数据信息 授权访问,防止随意删改,同时提供信息 备份的服务。
是绝对必要的。
甚大型 100~1000 4~5年 1M(=1024k)
若干个子项目,每一个子项目都是一个大型软件。
子项目之间具有复杂的接口。如远程通信系统、多任务
系统、大型操作系统、大型数据库管理系统、军事指挥
系统通常现有这样的规模。很显然,这类问题没有软件
工程方法的支持,它的开发工作是不可想象的。。
• 操作系统 • 数据库管理系统 • 设备驱动程序 • 通信处理程序等
17
§0.软件概论
支撑软件
协助用户开发软件的工具软件
• 文本编辑程序 • 文件格式化程序 • 磁盘向磁带进行数据传输的程序 • 程序库系统 • 支持需求分析、设计、实现、测试和支
持管理的软件 18
应用软件
§0.软件概论
• 商业数据处理软件 • 工程与科学计算软件 • 计算机辅助设计/制造软件 • 系统仿真软件 • 智能产品嵌入软件 • 医疗、制药软件 • 事务管理、办公自动化软件 • 计算机辅助教学软件
其它作业仅供参考。可通过email递交
考勤仅供参考,若抽查3次缺勤, 总成绩不及格
5
《学生管理系统》
StudentMis

大作业
❖ 《学生管理系统》针对的用户是学校学生 管理部门。相应的需求有:
能够存储一定数量的学生信息,并方便有 效的进行相应的学生数据操作和管理,主 要包括:
6
学籍管理
学生基本信息的导入、录入、删除及修改。 学生辅助信息(综合测评、奖励、处分等)的录入、删除
❖ 可选题目:
- 商业管理系统的分析、设计与实现
- 教务管理系统的分析、设计与实现
- 订票管理系统的分析、设计与实现
❖ 可以自选题目,但需要教师认可
8
应提交的文档
软件需求规格说明书 软件设计规格说明书
用户安装及使用手册 系统测试计划 演示程序 其它
9
目的
软件工程
体验软件工程各阶段的主要工作,特别 注意吸取教训;
相关主题