




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程 学习笔记二 主 题 主 题 软件工程 学习笔记 内 容 内 容 软件工程 学习笔记二 可行性研究 软件工程 学习笔记二 可行性研究 1 可行性研究 1 可行性研究 可行性研究的目的 要用最小的代价在尽可能短的时间内确定问题是否能够解决及是否值得解决 这个阶段要回答的关键问题是 对于上一阶段确定的问题有行得通的解决方法吗 回答 做 还是不做 可行性研究的基础 可行性研究的基础是对系统的初步调查 一般调查 信息需求初步调查 可行性研究的任务 可行性研究的任务 概括地讲 可行性研究包括两大部分的分析研究 分别是 分析建立信息系统的必 要性和分析建立信息系统的可能性 具体讲 主要任务包括 进一步分析和澄清问题定义 导出系统的高层逻辑模型 从系统逻辑模型出发 探索若干种系统实现方案 对每 种方案都至少要从下述几方面研究其可行性 T e c h n i c a l f e a s i b i l i t y 技术可行性 E c o n o m i c f e a s i b i l i t y 经济可行性 O p e r a t i o n a l f e a s i b i l i t y 操作可行性 f e a s i b i l i t y 社会可行性 L e g a l f e a s i b i l i t y 法律可行性 对以后的行动方针提出建议 可行性研究的步骤 偏面向过程 可行性研究的步骤 偏面向过程 1 复查系统规模和目标 2 研究目前正在使用的系统 3 导出新系统的高层逻辑模型 4 重新定义问题 返回第一步 5 导出和评价供选择的解决方案 6 推荐行动方针 7 草拟开发计划 8 书写文档提交审查 1 复查系统规模和目标 问题定义阶段的成果 系统规模和目标报告书 复查任务 改正含糊的 二义的描述 改正不正确的描述 软件工程 学习笔记二 核查系统限制和约束 2 研究现有系统功能 分析现有系统 高层系统流程图 确定系统功能 比较新旧系统 新系统必须完成旧系统的基本功能 新系统必须改正旧系统存在问题 新系统必须比旧系统增收入 减支出 3 导出新系统模型 旧系统逻辑模型 新系统目标和规模 逻辑模型描述工具 数据流图 数据字典 用例图 4 重新定义问题 复查问题定义 规模和目标 根据新系统模型 分析员误解 用户遗漏 重新定义问题 和嵌三步一起构成了一个循环 定义 分析 求解 重定义 5 导出和分析可选解决方案 从逻辑模型导出物理系统方案 不同角度 多个方案 分析各种可选方案 技术可行性 操作可行性 经济可行性 为可行方案制定初步进度计划 拟定时间进度 估算经济效益等 6 推荐行动方针 得出可行性研究结果 继续开发 终止项目 推荐解决方案 成本 效益 7 草拟开发计划 为推荐方案确定开发计划 进度 开发人员 硬件设备 软件工具 各阶段成本估计 8 书写文档提交审查 软件工程 学习笔记二 可行性研究报告 需要写清楚 各步骤结果 推荐方案 开发计划 等内容来保证软件工程活动的顺利实施 可行性论证的提纲 可行性论证的提纲 l 背景情况 l 系统描述 l 价格利益分析 l 技术冒险评价 l 操作可行性 l 法律上的可行性 l 其它与项目有关的问题 l 结论 可行性研究的具体内容 偏面向对象 可行性研究的具体内容 偏面向对象 l 问题识别 l 市场调查 l 分析准备 l 环境分析 l 物理分析 l 功能分析 l 信息分析 l 动态分析 l 确立系统方案 作出各种估算 l 模型评审 1 问题的初步认识 了解系统应解决的问题 这些问题使如何提出的 设想这些问题如何解决才能满足要求 了解问题的结构 2 市场调查 了解市场对待开发软件的需求情况 调查市场上已有的类似软件系统的功能 性能 价格情况 3 分析准备 确立分析计划 规定由谁参加分析作业 任务分配 对参加分析的人员进行必要的培训 4 环境分析 明确系统的目的和限制条件 使用单位的状况 经营方针和组织机构 使用单位的计算机利用情况 相关的硬件 软件及其它接口部分 用户的操作环境及操作要求 习惯 法律 制度上对软件的制约 开发能具备的基数条件和设备条件 5 物理分析 软件工程 学习笔记二 了解实际业务活动状况 特别对一些活动要点进行分析 明确在这些要点之间什么东西在流动 如何进行流动 对物理流量进行分析 对其模型化 得到实际业务系统 当前系统 的物理模型 6 功能分析 决定系统应具备的功能 工作域 分析功能的结构 功能展开和功能分配 分析各功能之间的关系 整理它们之间传递的信息 利用数据流图 描述信息在系统流动与处理的情况 7 信息分析 调查系统的输入 输出 保存信息 明确信息的结构及各信息之间的关系 调查各信息的信息量 调查各种报表和文件的格式 建立粗略的数据词典 定义系统中使用的数据 8 动态分析 系统内每一部分有几种状态 各种状态转换的条件 同步产生的条件与同步后状态的变化 9 确立系统方案 进行各种估算 粗略地估算成本 估算可能取得的效益 提出可能需要的资源 包括人员 硬件 软件等 提出大概的进度安排 1 0 模型评审 将目标系统的逻辑模型提出管理部分与用户进行评审 复查问题定义 工程规模和系统目标 2 系统流程图2 系统流程图 系统流程图的概念 又叫事务流程图 是在计算机事务处理应用进行系统分析时常用的一种描述方法 另 一个是数据流图 它描述了计算机事务处理中从数据输入开始到获得输出为止 各个处 理工序的逻辑过程 系统流程图的符号 系统流程图的样例 系统流程图的层次 系统流程图的符号 软件工程 学习笔记二 基本处理工序 1 变换 把输入单据变换成磁盘文件 或把磁盘文件变换成输出单据 或把某一磁盘文件的 内容由一个介质文件传送到另一介质文件 2 合并 3 划分 软件工程 学习笔记二 4 分类 排序 按指定的键 关键字 以升序或降序改变原文件的记录排列顺序 5 更新 将多个文件作为输入 根据关键项目进行对照 对文件进行内容修正 删除 增加 等改写工作 一般更新的内容先要写入一个临时文件 系统流程图的样列 软件工程 学习笔记二 3 成本效益分析3 成本效益分析 成本估算技术 由于软件成本涉及较多变量 因而难以对其作出准确的估算 我们需要使用多种不同的方法对软件成本进行交叉估算 才有可能得到软件成本的 较精确的估算结果 对于大型项目 由于其项目的复杂度 必须建立相应的估算模型 按照一定的方法 技术来进行估算 成本估算技术 代码行技术 行数 每行平均成本 任务分解技术 软件工程 学习笔记二 人月 1 月工资 人月 2 月工资 经验统计估算模型 参数方程 动态多变量参数模型 C O C O M O 模型 自动成本估算 软件工具 成本效益分析的方法 代码行技术 代码行技术是比较简单的定量估算软件规模的方法 是面向规模的技术 这种方法依据以往开发类似产品的经验和历史数据 估算实现一个功能所需要的源 程序行数 当有以往开发类似产品的历史数据可供参考时 这种方法估算出的数值还是比较准 确的 为使得对软件规模估计值更接近实际值 可以由多名有经验的软件工程师分别作出 估计 每个人都估计软件的最小规模 a 最大规模 b 和最可能规模 m 分别算出三者 的平均值 a b m 再用下式计算软件规模估算值 在使用代码行技术估算软件规模时 若软件较小时常用的单位是代码行数 L O C 若软件较大时常用的单位是千行代码数 K L O C 常使用的单位有 S L O C s i n g l e l i n e o f c o d e K L O C t h o u s a n d l i n e s o f c o d e L L O C l o g i c a l l i n e o f c o d e P L O C p h y s i c a l l i n e o f c o d e N C L O C n o n c o m m e n t e d l i n e o f c o d e D S I d e l i v e r e d s o u r c e i n s t r u c t i o n 交付源指令数 代码行技术的优点 代码是所有软件项目开发都包含的 产品 而且代码行数很容易计算 代码行技术的缺点 l 源程序仅是软件配置的一个成分 用它的规模代表整个软件规模不太合理 l 用不同语言实现同一个软件所需的代码行数并不相同 即它依赖于所使用的编程 语言 l 不适合于非过程语言 功能点技术 主要考虑程序的 功能性 和 实用性 而不是对 L O C 计数 是一 种叫做功能点方法的生产率度量法 工作量估算工作量估算 软件估算模型使用由经验导出的公式来预测软件开发工作量 工作量是软件规模 L O C 或 F P 的函数 工作量的单位通常是人月 p m 静态单变量模型 动态多变量模型 C O C O M O 2 模型 支持大多数估算模型的经验数据 都是从有限个项目的样本集中总结出来的 因此 没有一个估算模型可以使用于所有类型的软件和开发环境 静态单变量模型 软件工程 学习笔记二 静态单变量的总体结构形式如下 其中 A B C是由经验数据导出的常数 E是以人月为单位的工作量 e v是估算 变量 K L O C 或 F P 下面给出典型的静态单变量模型 面向 K L O C 的估算模型 面向 F P 特征点度量 的估算模型 书上没有讲到的按照功能点估算的技术 F P 总计数 0 6 5 0 0 1 S U M F i F i i 1 1 4 是复杂性校正值 面向 K L O C 的估算模型 W a l s t o n F e l i x I B M 模型 B a i l e y B a s i l i 模型 B o e h m 简单模型 D o t y 模型 K L O C 9 时适合 面向 F P 的估算模型 A l b r e c h t G a f f n e y 模型 M a s t o n B a r n e t t 和 M e l l i c h a m p 模型 静态单变量的估算模型 从上面可以看出 对于相同的 K L O C 或 F P 用不同的模型估算的结果各不相同 主要原因 这些模型都仅仅依据若干领域中有限个项目的经验数据推导出来的 适应范围有限 因此 必须根据当前项目特点选择适应的估算模型 并依据需要对相应模型作出调 整 动态多变量模型 P u t n a m 模型 P u t n a m 模型是一种动态多变量模型 适用于大型项目 但也可以应用在一些较小的 软件项目中 他将代价看成是开发时间的函数 大型软件项目的开发工作量分布可以用 R a y l e i g h N o r d e n 曲线表示 软件方程如下 t d 是开发持续时间 年 K 是软件开发与维护在内的整个生存期所花费的工作量 人年 L 是源代码行数 L O C C k 是技术状态常数 因开发环境而异 软件工程 学习笔记二 C O C O M O 模型 C O C O M O 模型 C o n s t r u c t i v e C o s t M o d e l 结构型成本估算模型 是一种精确 易于使用的成本估算方法 它是 B o e h m 于 1 9 8 1 年在静态单变量模型基础上提出的 构造性成本模型 1 9 9 7 年 B o e h m 等人提出修订版 C o C o M o 2 模型 依据系统规模和考虑因素的多少 由三种类型的 C O C O M O 模型 基本 C O C O M O 模型 基本模型是静态单变量模型 用源代码行数 L O C 为自变量的经 验函数计算软件开发工作量 中间 C O C O M O 模型 在用 L O C 为自变量的函数计算软件开发工作量 称为名义工作量 的基础上 用涉及产品 硬件 人员 项目等方面的影响因素调整工作量估算 详细 C O C O M O 模型 包括中间模型的所有特性 但用上述各种影响因素调整工作量估 算时 还要考虑对软件工程过程中每一步骤 分析 设计等 的影响 软件复杂度的三种类型 独立型 O r g a n i c 较简单 对产品目标理解充分 经验丰富 对软件开发环境熟悉 由小团队开发 大多数应用软件及老的操作系统 编译系统属此类 半独立型 S e m i d e t a c h e d 项目较复杂 团队成员对系统可能有些经验 如新操作系统 大型数据库 生产控 制等软件属此类 嵌入型 E m b a d d e d 项目复杂 软件只是复杂系统的一部分 软件 硬件 规则和操作规程关系紧密 对接口 数据结构 算法要求较高 如大型复杂的事务处理系统 大型 超大型的操作 系统 军事指挥系统 航天控制系统等 基本 C O C O M O 模型 基本 C O C O M O 模型是一个静态单变量模型 它把软件系统所需要的成本看作是程序大 小单一变量 K L O C 的 经验 函数 用于系统级的粗略估算 E 度量单位为人月 表示开发工作量 T D E V 度量单位为月 表示开发进度 它由工作量决定 K L O C 定义为代码的源程序行数 若一行有两个语句 则算做一条指令 它包括作业 控制语句和格式语句 但不包括注释语句 K L O C 1 0 0 0 L O C 基本 C O C O M O 模型 基本 C O C O M O 模型 工作量和进度公式 软件工程 学习笔记二 中间 C O C O M O 模型 进一步考虑 1 5 种影响软件工作量的因素 通过定下乘法因子 修正 C O C O M O 工作量 公式和进度公式 可以更合理地估算软件 各阶段 的工作量和进度 中间 C O C O M O 模型的名义工作量与进度公式如下所示 每个成本因素 F i 根据它的重要程度和影响大小赋予一定的值 可把这些成本因素划 分为 共 1 5 个 产品因素 软件可靠性 数据库规模 产品复杂性 硬件因素 执行时间限制 存储限制 虚拟机易变性 环境周转时间 人的因素 分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体育场地施工合作协议
- 智能物流与制造业供应链优化
- 深化文化体制机制改革的现状及总体形势
- 理赔业务流程复杂度风险基础知识点归纳
- 理赔业务风险管理跨部门执行风险基础知识点归纳
- 推动非遗保护传承风险管理评估
- 多元化实习基地建设与医学教育的结合
- 儿童环保教育策略
- 初三安全教育启示
- 多元协同推进学院建设经济效益和社会效益
- 甘肃省兰州市安宁区2024年小升初数学试卷
- 《大庆精神-铁人精神》课件wanzheng
- 买卖合同协议书模板完整版
- 机场安检异常行为识别培训
- 植入式静脉给药装置护理技术
- 组织工作实务-形考任务三-国开-参考资料
- 《短视频拍摄与制作》课件-4.短视频后期制作- 剪辑技巧
- 事业单位工作人员调动申报表
- 一个完整详细的箱涵清淤施工方案
- 老年医学专业知识培训课件
- DB44-T 2457-2024 地质灾害自动化监测规范
评论
0/150
提交评论