




已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Email liangsun 大连理工大学计算机科学与技术学院 1 软件工程 主讲 孙亮 第一章课程回顾 知识点回顾软件 计算机系统中与硬件相互依存的另一部分 它是包括程序 数据及相关文档的完整集合程序 按事先设计的功能和性能要求编写的指令序列 程序是完成指定功能的一段特定语言代码数据 使程序能正常操纵信息的数据结构文档 与程序开发 维护和使用有关的图文资料软件危机 软件开发和维护过程中遇到的一系列严重问题 2 第一章课程回顾 知识点回顾 软件工程 指研究软件生产的一门学科 也就是将完整的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件软件工程 开发 运行 维护和修复软件的系统方法软件工程 将系统化的 规范的 可度量的方法应用于软件的开发 运行和维护的过程 即将工程化应用于软件中 3 第一章课程回顾 软件工程 为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用健全的工程原理 方法 软件工程方法学 通常指在软件生命周期全过程中使用的一整套技术的集合 软件工程方法学包括三个要素 方法 工具和过程软件生存期 软件产品或软件系统从设计 投入使用到被淘汰的全过程 一般说来 软件生存期由软件定义 软件开发和软件维护三个时期组成 每个时期又可进一步划分成若干个阶段 4 第一章课程回顾 软件危机的典型表现对软件开发成本和进度的估计常常不很准确用户对 已完成的 软件系统不满意的现象经常发生软件产品的质量往往靠不住软件常常是不可维护的软件通常没有适当的文档资料软件成本在计算机系统中的比例逐年增加软件开发生产率提高的速度远远跟不上计算机应用普及速度 5 第一章课程回顾 软件工程的本质特性软件工程关注于大型程序的构造软件工程的中心课题是控制复杂性软件经常变化开发软件的效率非常重要和谐地合作是开发软件的关键软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替有另一种文化背景的人创造产品 6 第一章课程回顾 软件工程中的7条基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能够清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性 7 第一章课程回顾 常用的过程模型生命周期模型规定了把生命周期划分成几个阶段及各阶段的执行顺序 因此 也称过程模型常用的过程模型有瀑布模型 快速原型模型 增量模型和螺旋模型等 8 第2章可行性研究 2 1可行性研究的任务2 2可行性研究过程2 3系统流程图2 4数据流图2 5数据字典2 6成本 效益分析2 7可行性研究报告书写 9 2 1可行性研究的任务 可行性研究的任务是用最小的代价 在尽可能短的时间内确定问题是否能够解决首先进一步分析和澄清问题意义分析员应该导出系统的逻辑模型从逻辑模型出发 探索出若干种可供选择的主要解法 即系统实现方案 最后仔细研究每种解法的可行性可行性研究的实质是一次大大压缩简化的系统分析和设计过程 10 2 1可行性研究的任务 实例讲评 两个整数乘法 11 解法1unsigneda b c c a b 可能会存在溢出问题 解法2unsigneda b intc c a b 不会存在溢出问题 解法3unsigneda b longintc c a b 不会存在溢出问题 但不合理 2 1可行性研究的任务 可行性应该从下述几方面进行 1 技术可行性 指使用现有的技术能否完成这个项目 度量一个特定技术信息系统解决方案的实用性及技术资源的可用性开发风险分析 最新技术成熟度等资源分析 人力消耗 财力消耗 时间消耗等相关技术的发展 现有技术能否实现新系统 技术难点 建议采用技术的先进性 12 2 1可行性研究的任务 2 经济可行性 指通过对软件开发项目进行成本 效益估计 以确定软件系统可能带来的经济效益能否超过研制和维护此系统所需的费用 度量系统解决方案的性能价格比 成本 效益分析有形成本 效益无形成本 效益价值和成本的关系质量与价值 成本的关系价值 成本的均衡 13 2 1可行性研究的任务 3 操作可行性用户使用可行性 公共汽车非接触式感应卡用输入密码或指纹来代替时间进度可行性组织和文化上的可行性 4 社会因素的考虑 软件开发是否会侵犯他人 集体或国家利益实质 一次简化的 高层次的 抽象的分析和设计过程 14 2 1可行性研究的任务 实例讲评 求一元二次方程的解 可行性问题定义 这是一个简单的数学问题 什么问题 系统要求不高 整系数方程 怎样要求 用于初中教学 哪里应用 解法简单 结论如何 技术上分析 能 简单此方程可以根据判别是b 2 4ac的值来确定方程根的情况 即b 2 4ac 0时又两个不等实根 b 2 4ac 0时有两个相等的实根 b 2 4ac 0时有一对共轭复根a b c的取值 unsigned int longint float 类型影响求解过程和求解算法 15 2 1可行性研究的任务 经济上分析 略社会效益上分析 略操作上 键盘 鼠标 语音提示 触摸屏等 16 2 1可行性研究的任务 实例讲评 系统开发和每年运行费用举例系统开发费用 1次 2名系统分析员 450小时 名 45美元 小时 40 5005名系统开发人员 275小时 名 36美元 小时 49 5001名数据库管理员 30小时 名 42美元 小时 1 2602名技术写作者 120小时 名 25美元 小时 60001名秘书 160小时 名 15美元 小时 2 4001名数据通讯专家 60小时 名 42美元 小时 2 5202名在转换期间数据输入人员 40小时 名 12美元 小时 960合计 103 140 17 2 培训三天开发人员内部培训课程 70030个用户 三天的内部培训课程 10 0003 物资复印 500磁盘 纸张等消耗品 650 18 2 1可行性研究的任务 购买硬件 软件 20台工作站Windows软件 1 00020台工作站内存升级 8 000网络软件 17 50020台工作站办公软件产品 20 000系统开发总费用 161 670 19 2 1可行性研究的任务 4年运行费用 每年 人员 维护程序员 分析员 250小时 年 42美元 小时 10 500网络管理员 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 复查系统规模和目标定义问题复查定义阶段的报告数 清晰限制和约束 目标 规模 全部约束 2 研究目前正在使用的系统 1 分析已有或相关系统技术和应用现状 找问题 总体上 2 分析系统的技术文档和使用手册 了解问题 挖掘问题 微观上 23 2 2可行性研究过程 3 实地考察现有系统 what why how 4 重点在于 能做什么 而不是 如何做什么 即 只关心高层系统流程图 5 避免花费过多时间分析现有系统 6 关注约束条件 3 导出新系统的高层逻辑模型现有的物理系统 现有系统的逻辑模型 目标系统的逻辑模型 新的物理系统 24 2 2可行性研究过程 4 重新定义问题 1 以数据流图 数据字典为基础 2 需要得到用户的认可 避免疏漏 误解 3 这是一个循环过程 直到完全符合系统要求 5 导出和评价供选择的方案 1 从技术角度解决的不同方案 eg1 控件和程序 eg2 中断与查询 25 2 2可行性研究过程 2 从操作方面的可行性 管理习惯 行为习惯 人员素质等 3 从经济方面的可行性 开发成本 运行成本 开支变化等 4 确定进度表 6 推荐方案和行动方针分析员给出结论 给出理由 26 2 2可行性研究过程 7 草拟开发计划 1 进度表 2 人力资源 系统分析员 程序员 资料员等 3 设备资源等 8 书写文档 提交审查 27 2 3系统流程图 系统流程图是描绘物理系统的传统工具 它的基本思想是用图形符号以黑盒子的形式描述系统里面的每一个部件 程序 文件 数据库 表格 人工过程等 尽管系统流程图使用的某些符号和程序流程图所用的符号相同 但系统流程图表达的信息再系统中各个部件之间流动的情况 而不是对信息进行加工处理的控制过程 28 2 3系统流程图 29 实例讲评程序流程图实例 2 3系统流程图 30 2 3系统流程图 31 2 3系统流程图 32 2 3系统流程图 33 实例讲评 仓库订货管理系统之系统流程图 2 3系统流程图 实例讲评7 口算高手 之系统流程图 34 2 4数据流图 数据流图英文DataFlowDiagram 简称DFDDFD是一种描述逻辑模型的图形工具 表示数据再系统内的变化图中没有任何具体的物理元素 只是描绘信息再系统中流动和处理的情况DFD从数据传递和加工的角度 以图形的方式刻画数据流从输入到输出的移动变换过程 35 2 4数据流图 数据流图中的符号 图形元素正方形 源点或终点圆角矩形 处理开口矩形 数据存储箭头 流动方向 36 2 4数据流图 数据流图的基本图形元素 1 数据流 是一组数据 再数据流图中数据流用带箭头的线表示 在其线旁标注数据流名 2 加工 是对数据流执行的某种操作或变换 在数据流图中加工用圆圈表示 在圆圈内写上加工名 3 文件 是按照某种规则组织起来的 长度不限的数据 在数据流图中文件用一直线表示 在线段旁注上文件名 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数据流图 44 2 4数据流图 45 2 4数据流图 实例讲评 口算高手 的输入 输出 46 2 4数据流图 实例讲评 口算高手 顶层数据流图 47 2 4数据流图 实例讲评 客房管理 输入 输出 48 2 4数据流图 实例讲评 客房管理系统 局部DFD 49 2 4数据流图 绘制数据流图的注意事项合理细化分层细化时必须保持信息的连续性注意处理的编号和适当地命名画数据流而不是控制流先考虑稳定状态忽略琐碎的枝节 50 2 4数据流图 随时准备重画注意程序流程图与数据流图的区别 数据流图描绘所有可能 而不应该描绘出现某个数据流的条件数据流图基本要点是要回答 作什么 而不是 怎样作 51 2 4数据流图 命名 直接影响到数据流图的可理解性 1 为数据流 数据存储命名 代表整个数据流内容 切忌空洞 必要时考虑重新分解 2 为处理命名 先数据流 后处理 代表整个功能 及物动词 宾语 一般只包含一个动词 必要时考虑重新分解 52 2 5数据字典 数据字典英文 DataDictionary 简称DDDD定义 对于数据流图中所出现的所有被命名的图形元素作为一个词条加以定义 使得每一个图形元素的名字都有一个确切的解释DD是对所有与系统相关的数据元素的一个有组织的列表 以及精确的 严格的定义 使得用户和系统分析员对于输入 输出 存储成分和中间计算有共同的理解 53 2 5数据字典 DD是一种描述逻辑模型的工具DD是数据的信息集合 是对数据流图中包含的所有元素的定义的集合DD的内容包括 图形元素的名字 别名或编号 分类 描述 定义 位置等典型的DD包括 一般信息 名字 别名 描述等定义 数据类型 长度 结构等 54 2 5数据字典 使用特点 值范围 使用频率使用方法 输入 输出 本地 网络 条件值等控制信息 来源 用户 使用它的程序 使用权 改变权等分组信息 复结构 从属结构 物理位置等 55 2 5数据字典 使用DD的目的查阅不了解的条目的解释尽量减少出现别名DD中所有的定义都应是严密的 精确的 不可有半点含混 不可有二义性数据流图和数据字典共同构成系统的逻辑模型 56 2 5数据字典 数据字典DD中常用符号的含义 57 2 5数据字典 数据字典中定义数据的方法 自定向下分解数据数据元素组成方式类型顺序 选择 重复 可选数据字典的用途 分析阶段的重要工具数据字典的实现 全人工过程全自动化过程混合过程 58 2 5数据字典 数据字典与数据流图之间关系数据流图描述了系统的 分解 依靠 字典 来说明各个成分的含义数据流图中所有名字的定义就构成了一本字典数据流图和字典结合在一起构成了 需求说明书 数据流图中出现的每个数据流名 每一个文件名和每一个加工名在词典中都应该有一个条目给出这个名字的定义 59 2 5数据字典 字典条目的各种类型数据流文件数据项 指不在分解的数据单位 加工小说明数据流图中每一个基本加工 即不再进一步被分解的加工 都必须有一个 小说明 小说明中应精确描述用户要求一个加工 做什么 60 2 5数据字典 实例讲评 口算高手 字典建模 61 2 5数据字典 实例讲评 客房管理系统 字典建模 62 2 5数据字典 实例讲评 航班词典条目实例 63 2 5数据字典 64 2 5数据字典 实例讲评 路灯管理系统 数据字典路段控制器信息表controller db 65 2 5数据字典 66 2 6成本 效益分析 成本 效益分析的目的 是从经济角度评价开发一个新项目是否可行 是否划算 从而帮助使用部门的负责人正确地作出是否投资于这项开发的决定成本估计代码行技术 通常先根据经验和历史数据来估计实现一个功能所需要的源程序行数 然后用每行代码的平均成本乘以行数就可以确定软件的成本 67 2 6成本 效益分析 任务分解技术 首先把软件开发工程分解为若干个相对独立的任务 再分别估计每个单独的开发任务的成本 最后累加起来得出软件开发工程的总成本估计每个任务的成本时 通常先估计完成该项任务所需要使用的人力 以月为单位 再乘以每人每月的平均工资而得出每个任务的成本 划分任务时最常用的办法是按开发阶段进行 68 2 6成本 效益分析 度量效益的方法货币的时间价值货币的时间价值通常用利率的形势表示 假设年利率为i 如果现在存入P元 则n年后可以得到的钱数为 F P 1 i n这也就是P元钱再n年后的价值 反之如果n年后能收入F元 那么这些钱现在的价值是 P F 1 i n 69 2 6成本 效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于合同违约金条款的调查问卷-合同违约金在实际操作中的效果评估
- 2025广州中医药大学顺德医院佛山市顺德区中医院签订康复设备及医疗耗材采购合同书
- 2025年中国会计师考试模拟试题及备考策略指南
- 2025合同质量监督制度模板范本
- 空气采样管安装施工方案
- 高中地理 第三章 第三节 工业区位因素与工业地域联系说课稿 湘教版必修2
- 2025年中国铁路工程集团校园招聘面试模拟题及答案集萃
- 2025年专利审查专业基础知识巩固训练题库
- 江西省南昌市2025年-2026年小学六年级数学综合练习(上学期)试卷及答案
- 黑龙江哈尔滨市2025年-2026年小学六年级数学阶段练习(上,下学期)试卷及答案
- 买家赎楼签协议签合同
- 2025至2030年中国虹膜识别市场深度调查分析及投资前景研究预测报告
- 2025-2026学年人教版(2024)初中信息科技七年级(全一册)教学计划及进度表(第一学期)
- 低于成本价中标造成的价格争议
- 化验室培训记录
- (完整word)化学各仪器矢量图合集
- 德国工业标准DIN8077聚丙烯(PP)管材尺寸赵彦波
- 拖拉机和联合收割机查验记录表
- (公开课)26个英文字母书写笔顺动态演示(基础教育)
- Q∕GDW 11304.2-2021 电力设备带电检测仪器技术规范 第2部分:红外热像仪
- 部编版一年级道德与法治上册第1课《开开心心上学去》精品课件
评论
0/150
提交评论