软件工程培训讲义

上传人:F****n 文档编号:95481457 上传时间:2019-08-19 格式:PPT 页数:77 大小:1.33MB
返回 下载 相关 举报
软件工程培训讲义_第1页
第1页 / 共77页
软件工程培训讲义_第2页
第2页 / 共77页
软件工程培训讲义_第3页
第3页 / 共77页
软件工程培训讲义_第4页
第4页 / 共77页
软件工程培训讲义_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《软件工程培训讲义》由会员分享,可在线阅读,更多相关《软件工程培训讲义(77页珍藏版)》请在金锄头文库上搜索。

1、Email: ,大连理工大学计算机科学与技术学院,1,软件工程,主讲: 孙亮,第一章课程回顾,知识点回顾 软件计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及相关文档的完整集合 程序按事先设计的功能和性能要求编写的指令序列;程序是完成指定功能的一段特定语言代码 数据使程序能正常操纵信息的数据结构 文档与程序开发、维护和使用有关的图文资料 软件危机软件开发和维护过程中遇到的一系列严重问题,2,第一章课程回顾,知识点回顾: 软件工程指研究软件生产的一门学科,也就是将完整的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件 软件工程开发、运行、维护和修复软件的系统方法 软件工程将

2、系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,3,第一章课程回顾,软件工程为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用健全的工程原理(方法) 软件工程方法学通常指在软件生命周期全过程中使用的一整套技术的集合。软件工程方法学包括三个要素:方法、工具和过程 软件生存期软件产品或软件系统从设计、投入使用到被淘汰的全过程。一般说来,软件生存期由软件定义、软件开发和软件维护三个时期组成,每个时期又可进一步划分成若干个阶段,4,第一章课程回顾,软件危机的典型表现 对软件开发成本和进度的估计常常不很准确 用户对“已完成的”软件系统不满意的现象经常

3、发生 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统中的比例逐年增加 软件开发生产率提高的速度远远跟不上计算机应用普及速度,5,第一章课程回顾,软件工程的本质特性 软件工程关注于大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效地支持它的用户 在软件工程领域中是由具有一种文化背景的人替有另一种文化背景的人创造产品,6,第一章课程回顾,软件工程中的7条基本原理 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能够清楚地审查

4、 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性,7,第一章课程回顾,常用的过程模型 生命周期模型规定了把生命周期划分成几个阶段及各阶段的执行顺序,因此,也称过程模型 常用的过程模型有瀑布模型、快速原型模型、增量模型和螺旋模型等,8,第2章可行性研究,2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本效益分析 2.7 可行性研究报告书写,9,2.1 可行性研究的任务,可行性研究的任务是用最小的代价,在尽可能短的时间内确定问题是否能够解决 首先进一步分析和澄清问题意义 分析员应该导出系统的逻辑模型 从逻辑模型出发,探

5、索出若干种可供选择的主要解法(即系统实现方案) 最后仔细研究每种解法的可行性 可行性研究的实质是一次大大压缩简化的系统分析和设计过程,10,2.1 可行性研究的任务,实例讲评:两个整数乘法,11,解法1 unsigned a, b, c; c=a*b; 可能会存在溢出问题!,解法2 unsigned a, b; int c; c=a*b; 不会存在溢出问题!,解法3 unsigned a, b; long int c; c=a*b; 不会存在溢出问题! 但不合理,2.1 可行性研究的任务,可行性应该从下述几方面进行: (1)技术可行性:指使用现有的技术能否完成这个项目,度量一个特定技术信息系统

6、解决方案的实用性及技术资源的可用性 开发风险分析:最新技术成熟度等 资源分析:人力消耗、财力消耗、时间消耗等 相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性),12,2.1 可行性研究的任务,(2)经济可行性:指通过对软件开发项目进行成本效益估计,以确定软件系统可能带来的经济效益能否超过研制和维护此系统所需的费用。度量系统解决方案的性能价格比。 成本效益分析 有形成本、效益 无形成本、效益 价值和成本的关系 质量与价值、成本的关系 价值成本的均衡,13,2.1 可行性研究的任务,(3)操作可行性 用户使用可行性:公共汽车非接触式感应卡用输入密码或指纹来代替 时间进度可行

7、性 组织和文化上的可行性 (4)社会因素的考虑:软件开发是否会侵犯他人、集体或国家利益 实质:一次简化的、高层次的、抽象的分析和设计过程!,14,2.1 可行性研究的任务,实例讲评:“求一元二次方程的解”可行性 问题定义:这是一个简单的数学问题(什么问题),系统要求不高,整系数方程(怎样要求),用于初中教学(哪里应用),解法简单(结论如何) 技术上分析:能,简单 此方程可以根据判别是b2-4ac的值来确定方程根的情况,即b2-4ac0时又两个不等实根,b2-4ac=0时有两个相等的实根,b2-4ac0时有一对共轭复根 a,b,c的取值(unsigned, int, long int, floa

8、t)类型影响求解过程和求解算法,15,2.1 可行性研究的任务,经济上分析:略 社会效益上分析:略 操作上:键盘、鼠标、语音提示、触摸屏等,16,2.1 可行性研究的任务,实例讲评:系统开发和每年运行费用举例 系统开发费用(1次) 2名系统分析员(450小时名,45美元小时) $40,500 5名系统开发人员(275小时名,36美元小时) $49,500 1名数据库管理员(30小时名,42美元小时) $1,260 2名技术写作者(120小时名,25美元小时) $6000 1名秘书(160小时名,15美元小时) $2,400 1名数据通讯专家(60小时名,42美元小时) $2,520 2名在转换

9、期间数据输入人员(40小时名,12美元小时)$960 合计:$103,140,17,2. 培训 三天开发人员内部培训课程 $700 30个用户,三天的内部培训课程 $10,000 3. 物资 复印 $500 磁盘、纸张等消耗品 $650,18,2.1 可行性研究的任务,购买硬件、软件: 20台工作站Windows软件: $1,000 20台工作站内存升级 $8,000 网络软件 $17,500 20台工作站办公软件产品 $20,000 系统开发总费用 $161,670,19,2.1 可行性研究的任务,4 年运行费用(每年) 人员: 维护程序员分析员(250小时年,42美元小时) $10,500

10、 网络管理员(300小时年,50美元小时) $15,000 购买硬件、软件升级 硬件 $5,000 软件 $6,000 物资和杂项 $3,500 每年总运行费用 $40,000,20,2.1 可行性研究的任务,可行性研究的任务 (1)明确目的 确定问题是否能够解决 能否值得解决 (2)确定内容 问题定义:明确系统目标、规模和约束条件 导出系统逻辑模型:系统流程图、数据流图等 (3)提供可选解决方案,21,2.1 可行性研究的任务,(4)可行性(内涵)分析:技术经济操作维护分析等; (5)每个方案的粗略进度 (6)方案选择建议 可行性研究成本:5%10%,22,2.2 可行性研究的过程,(1)复

11、查系统规模和目标 定义问题 复查定义阶段的报告数,清晰限制和约束:目标、规模、全部约束 (2)研究目前正在使用的系统 1分析已有或相关系统技术和应用现状:找问题总体上 2分析系统的技术文档和使用手册:了解问题、挖掘问题微观上,23,2.2 可行性研究过程,3实地考察现有系统:what/why/how 4重点在于“能做什么”,而不是“如何做什么”。即:只关心高层系统流程图 5避免花费过多时间分析现有系统 6关注约束条件 (3)导出新系统的高层逻辑模型 现有的物理系统现有系统的逻辑模型目标系统的逻辑模型新的物理系统,24,2.2 可行性研究过程,(4)重新定义问题 1以数据流图、数据字典为基础 2

12、需要得到用户的认可,避免疏漏、误解 3这是一个循环过程,直到完全符合系统要求 (5)导出和评价供选择的方案 1从技术角度解决的不同方案:eg1:控件和程序:eg2:中断与查询,25,2.2 可行性研究过程,2从操作方面的可行性:管理习惯、行为习惯、人员素质等; 3从经济方面的可行性:开发成本运行成本开支变化等 4确定进度表 (6)推荐方案和行动方针 分析员给出结论给出理由,26,2.2 可行性研究过程,(7)草拟开发计划 1进度表 2人力资源:系统分析员、程序员、资料员等; 3设备资源等 (8)书写文档、提交审查,27,2.3 系统流程图,系统流程图是描绘物理系统的传统工具,它的基本思想是用图

13、形符号以黑盒子的形式描述系统里面的每一个部件(程序、文件、数据库、表格、人工过程等) 尽管系统流程图使用的某些符号和程序流程图所用的符号相同,但系统流程图表达的信息再系统中各个部件之间流动的情况,而不是对信息进行加工处理的控制过程,28,2.3 系统流程图,29,实例讲评 程序流程图实例,2.3 系统流程图,30,2.3 系统流程图,31,2.3 系统流程图,32,2.3 系统流程图,33,实例讲评:仓库订货管理系统之系统流程图,2.3 系统流程图,实例讲评7:口算高手之系统流程图,34,2.4 数据流图,数据流图英文Data Flow Diagram,简称DFD DFD是一种描述逻辑模型的图

14、形工具,表示数据再系统内的变化 图中没有任何具体的物理元素,只是描绘信息再系统中流动和处理的情况 DFD从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,35,2.4 数据流图,数据流图中的符号图形元素 正方形:源点或终点 圆角矩形:处理 开口矩形:数据存储 箭头:流动方向,36,2.4 数据流图,数据流图的基本图形元素 (1)数据流:是一组数据。再数据流图中数据流用带箭头的线表示,在其线旁标注数据流名 (2)加工:是对数据流执行的某种操作或变换。在数据流图中加工用圆圈表示,在圆圈内写上加工名。 (3)文件:是按照某种规则组织起来的、长度不限的数据。在数据流图中文件用一

15、直线表示,在线段旁注上文件名 (4)数据流的源点和终点:在数据流图中用方框表示,在框内写上相应的名称,37,2.4 数据流图,由外向里画数据流图的步骤画法 (1)确定系统的输入输出 由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。 应该想用户了解“系统从外界接受什么数据”,“系统向外界送出什么数据”等信息 根据用户的答复画出数据流图的外围,38,2.4 数据流图,(2)由外向里画系统的顶层数据流图 首先,将系统的输入数据和输出数据用一连串的加工连接起来 在数据流的值发生变化的地方就是一个加工 给各个加工命名 然后,给加工之间的数据命名 最后,给文件命名,39,2.4 数据流图,(3)自顶向下逐层分解,绘出分层数据流图 对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示 DFD可以用来表示一个系统或软件在任何层次上的抽象。较大型软件系统DFD分成多层(子图,父图概念),可以表示数据流和功能的进一步的细节,40,2.4 数据流图,实例讲评:仓库订货系统数据流图实例,41,2.4 数据流图,42,2.4 数据流图,43,2.4 数据流

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号