《【精品】软件工程PPT课件(全)》由会员分享,可在线阅读,更多相关《【精品】软件工程PPT课件(全)(410页珍藏版)》请在金锄头文库上搜索。
1、软件工程软件工程哈尔滨工业大学 韩静萍Software Engineering *第一章 软件工程概述水利工程建筑工程机械工程 软件工程软件工程本章将对软件的地位和作用、软件的特点、软件的发展、软件的危机以及软件工程学科的形成、软件生期等方面的问题和基本概念传统工程新兴工程气象工程生物工程*1.1 软件的概念与特点1、软件softwaresoft+ware软制品 (软体)软件是计算机系统中与硬件相互依存的另一部分。它包括程序、数据及其相关文档的完整集合。*2、软件特点. .软件是一种逻辑实体,而不是具体的物理实体. .软件的生产与硬件不同 . . 在软件的运行和使用期间,没有硬件那样的机械 磨
2、损,老化问题磨合 调整磨损 用坏修改点 实际曲线理想曲线硬件失效率曲线时间失 效 率时间失 效 率软件失效率曲线*. .软件的成本相当昂贵软件技术的发展落后于需求时间软 件 复 杂 性软件需求差距软件技术硬、软件成本比例的变化年份成本%软件软件1950197019851995硬件*3、软件的分类1 1、按软件的、按软件的功能功能进行划分进行划分系 统 软 件支 撑 软 件应 用 软 件*支撑软件一般类型一般类型:文本编辑程序文本编辑程序文本格式化程序文本格式化程序支持需求分析支持需求分析:PSL/PSA PSL/PSA问题描述语言问题描述语言关系数据库管理系统关系数据库管理系统支持设计支持设计
3、:图形软件包图形软件包结构化流程图绘图程序结构化流程图绘图程序支持测试支持测试:静态分析器静态分析器测试覆盖检验程序测试覆盖检验程序支持实现支持实现:编辑程序编辑程序连接编辑程序连接编辑程序支持管理支持管理:标准检验程序标准检验程序库管理程序库管理程序*2 2、按软件的、按软件的规模规模进行划分进行划分按开发软件所需的人力、时间以及完成的源代码行数。类别参加人数研制期限产品规模(源代码行数)微型微型 小型小型 中型中型 大型大型 甚大型甚大型 极大型极大型1 1 1 12-52-5 5-205-20 100-1000100-1000 2000-50002000-50001-41-4周周 1-6
4、1-6周周 1-21-2年年 2-32-3年年 4-54-5年年 5-105-10年年约约500500行行 约约20002000行行 5000-500005000-50000行行 5 5万万-10-10万行万行 100100万行万行 10001000万行万行*3 3、按软件、按软件开发开发划分划分软 件 项 目 开 发软 件 产 品 开 发*1.2 软件工程的概念及范畴 1、“软件工程”-Software Engineering于1968年 NATO 组织在 德国召开的一次会议上提出是把软件当作一种工业产品,要求是把软件当作一种工业产品,要求 “ “采用工程化的采用工程化的原理与方法对软件进行
5、计划、开发和维护原理与方法对软件进行计划、开发和维护 ” ”。*软件工程学 软件开发技术 软件工程管理软件开发方法学软件工具软件工程环境软件工程管理学软件经济学- 软件工程学的范畴 2、 软件工程学 *Wake up every day with a feeling of passionfor the different technology will make in peoplesLife.微软企业文化宗旨部分内容每天醒来的时候,要对技术给生活造成的改变始终拥有一份 激情。*程序3、软件的演变(即从传统软件开发到现代软件开发) 软件软件产品传统软件开发现代软件开发1975 1989 2000
6、0.00016240营业额 增长曲线80*1.3 软件生存周期把软件从产生、发展到成熟、直至衰亡为止(SW life cycle)*特点:上一阶段的变换结果是下一阶段的变换的输入,相邻两个阶段具有因果关系,紧密相联。需求分析问题定义可性行研究计划 时期概要设计详细设计编 码 测 试开发 时期运行与维护运 行 时 期软件生存周期模型(瀑布模型 Waterfall Model)*原型模型(Prototype Model)加工 原型原型原型:是指模拟某种产品的原始模型快速分析 和设计建造 原型客户 评价原型1、原型系统仅包括未来系统的主要功能,以及系统的重要接口。2、为了尽快向用户提供原型,开发原型
7、系统时应尽量使用能缩短开发周期的语言和工具。 *第二章 问题的定义与可性行研究 当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必 要的。同样对于软件产品的开发 ,显然也应该解决好 这样类似的问题,明确该软件产品开发的任务,以及 完成任务的价值从而制定出完成任务的计划。那么问 题的定义和可性行研究就是制定软件系统的计划的第 一步。所以在软件工程中把这一步称为 计划时期*开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束Y计划时期的工作流程图N*Who 为谁设计,用户是谁?What 要解决哪些问题?Why 为什么要解决这些问题3WWin CE1.0
8、有用的软件*2.1 现状调查和问题的定义 目的:弄清楚用户要求计算机解决什么问题任务:编写系统目标与规范说明书系统目标与规范说明书系统目标与规范说明书1 1、项目:教材销售系统、项目:教材销售系统 2 2、问题:人工销售教材手续繁琐,容易出错、问题:人工销售教材手续繁琐,容易出错 3 3、项目目标:建立一个高效率、无差错的计算机教材销售系统、项目目标:建立一个高效率、无差错的计算机教材销售系统 4 4、项目范围:利用现有的计算机,软件开发费用不得超过、项目范围:利用现有的计算机,软件开发费用不得超过20002000元元 5 5、初步想法:建议在系统中增加对缺书的统计与采购功能、初步想法:建议在
9、系统中增加对缺书的统计与采购功能 6 6、可性行研究:建议进行大约、可性行研究:建议进行大约1010天的可性行研究,且研究费用不超过天的可性行研究,且研究费用不超过500500元元*2.2 可行性研究与论证 1、经济可行性: 进行成本效益分析,评估项目的开发成本。基于计算 机系统的 成本由四 部分组成1、购置软、硬件及有关设备费用2、系统开发费用3、系统安装和维护费用4、人员培训费用费用其论证的焦点是:围绕着对系统开发的价值进行论证*举例:关于开发CAD系统的软件开发成本及效益分析1 2 3 4 5 年6040200成本-效益(万元)该系统节省经费该系统成本盈亏平衡点投资回收期-成本及效益分析
10、图*2、技术可行性:对系统的性能、可靠性、可维护性以及生产率 等方面的信息进行评价。通过技术可行性的分析,将为新系统提交技术可 行性评估。以指明为完成系统的功能和性能需要什么 技术?需要哪些材料、方法、算法、或者过程等技术可行性分析方法- 数学模型和优化技术、 概率和统计、排队论、控制论等方法。*可行性 论证报告1、系统概述2、可行性分析3、拟订开发计划4、结论意见*2.3 可行性分析所需工具 (系流程图与系统结构图)1、系统流程图: 是用来描述系统物理模型的一种传统工具。流程符号含 义流程符号含 义数据加工符号换页连接 输入/输出符号磁带符号连接点符号文档符号人工操作多文档符号*流程符号含
11、义流程符号含 义显示器或终端机控制流符号磁盘机或数据库流程开始与结束*举例库存清单系统流程图库存清单程序定货报告事务定货信息结束报告生成程序零件库*人工销售教材 流程图结束结束学生学生申请购申请购 书书 购书证明购书证明检索教材检索教材 帐本是帐本是 否有该否有该 教材教材购书单购书单开购书发开购书发 票和购票和购 书单书单购书发票购书发票到书库到书库 领书领书 *计算机售书系统流程图结束结束学生学生购书发票购书发票到书库到书库 领书领书 购书单购书单终端终端审查并审查并 开发票开发票1 11-1-学生各学期用书数据库学生各学期用书数据库购书单购书单2 22- 2-教材存量数据库教材存量数据库
12、*练练习习设某城市招干考试成绩统计系统。设某城市招干考试成绩统计系统。考生分三个专业,不同专业考试科目不同:考生分三个专业,不同专业考试科目不同:法律专业法律专业-考政治、语文、法律考政治、语文、法律行政专业行政专业-考政治、语文、行政考政治、语文、行政财经专业财经专业-考政治、语文、财经学考政治、语文、财经学 每个考生在报名时登记姓名、地址、年龄和报考专业。报每个考生在报名时登记姓名、地址、年龄和报考专业。报名后招干办公室根据专业考生专业及地址在市区或郊区来编排名后招干办公室根据专业考生专业及地址在市区或郊区来编排准考证号码和考场。考生参加考试后,输入每个考生的各门课准考证号码和考场。考生参
13、加考试后,输入每个考生的各门课程的成绩,并统计出每个考生三门课程的总成绩。按准考证号程的成绩,并统计出每个考生三门课程的总成绩。按准考证号的顺序打印出考生考试成绩单,分发给每个考生。各专业分别的顺序打印出考生考试成绩单,分发给每个考生。各专业分别将考生按成绩总分从高到低的次序排序,以便决定录取名单。将考生按成绩总分从高到低的次序排序,以便决定录取名单。 请画出由下列文字描述的系统流程图请画出由下列文字描述的系统流程图*2、系统结构图: 系统工程师用结构摸板开发的系统模型用户界面处理用户界面处理输输 入入 处处 理理维护和自测试维护和自测试处理和控制功能处理和控制功能输输 出出 处处 理理- 结
14、构摸板 - *- 传输线的分类系统 3、系统结构环境图(ACD-Architecture Context Diagram) : ACD 可用于描述实现系统与系统运行环境之间的信息边界。*传输线 分类系统条形码 阅读器传输线分配站 操作员分配站 操作员分类机构主 机条形码线速 指示器分路 命令格式化 报告数据查 询查询及 报告诊断 数据- 传输线分类系统的 ACD 图处理与控 制功能区外部实体*ACD 的层次结构ABC*作作请画出学生成绩管理系统的 ACD 图 业业*第3 章 软件需求分析软件需求分析是软件开发早期的一个重要阶段。它 在问题定义和可行性研究阶段之后进行。需求分析的基 本任务是软件
15、人员和用户一起完全弄清用户对系统的确 切要求。这是关系到软件开发成败的关键步骤,也是整 个系统开发的基础。 软件需求分析阶段要求用 需求规格说明书(SRS) 来表达用户对系统的要求。规格说明书可用文字方式表 示,也可用图形表示。 本章将介绍需求分析的任务、步骤、需求分析方法任务、步骤、需求分析方法 (面向数据流图分析方法、面向对象的分析方法)。*一、确定目标系统的具体要求一、确定目标系统的具体要求1 1、确定系统的运行环境要求、确定系统的运行环境要求2 2、系统的性能要求、系统的性能要求 3 3、系统功能、系统功能 3.1 需求分析的任务硬件环境和软件环境硬件环境和软件环境确定目标系统具备的所有功能确定目标系统具备的所有功能*举举例例数据库中存放的是职工的数据库中存放的是职工的某学校医疗费管理系统所属部门、职工号、姓名所属部门、职工号、姓名职工报销时应填写:职工报销时应填写: 所属部门、职工号、姓名、日期所属部门、职工号、姓名、日期校内门诊、校外门诊、住院费、子女医疗费校内门诊、校外门诊、住院费、子女医疗费 医疗费分类:医疗费分类: 该校规定,每年每个职工的医疗费有一个限额(如该校规定,每年每个职工的医疗费有一个限额(如 80 80元),限元),限额在年初确定,其限额规则如下:额在年初确定,其限额规则如下: