《软件工程》PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四课时
第一章第四课时
喷泉模型 软件工程的任务与研究范围 软件开发的原则与开发方法
返回
喷泉模型
瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多 情况下往往是做不到的.螺旋模型试图克服瀑布模型的这一不足.SM 把软件开发过程安排为逐步细化的螺旋周期序列,每经历一个周期, 系统就细化和完善一些.SM每—螺旋周期由六个步骤组成: <1> 确定任务目标: 根据初始需求分析项目计划,确定任务目标、可选 方案和限制.<2>选择对象:对各种软硬件设备、开发方法、技术、 开发工具、人员、开发管理等对象进行选择:并决定软件是进行研 制、购买还是利用现有的.<3>分析约束条件:软件开发的时间、经 费等限制条件.<4>风险分析:评估目标、对象、约束条件三者之间 的联系,列出可能出.现的问题及问题的严重程度等,把最重要的问 题作为尚未解决的关键问题的风险.<5>制定消除风险的方法:应有 详尽的说明和周密的计划,并估计可能产生的后果.依此来开发软件, 为制订下一周期的计划打下基础.<6>制定下一周期的工作计划:在 第一个螺旋周期,确定目标、选择对象、分析约束,通过风险分析制 订消除风险的方法,初步开发原型1,制定系统生存周期计划.
软件工程的任务与研究范围
•软件产品的特点 •软件工程的研究内容与方法 •软件工具与软件支撑环境 •软件管理
软件开发的原则与方法
•软件开发的原则 • 自顶向下与模块结构 •软件开发的方法 •1.非自动形式的系统开发方法 •〔1〕系统流程图〔2〕结构分析法〔3〕结构化设计法 •〔4〕数据结构法〔5〕层次输入——处理——输出方法<HIPO法> • 2.半自动形式的系统开发方法 •〔1〕软件需求工程法〔2〕问题说明语言与分析法 • 3. 自动形式的系统开发方法 〔HOS方法〕:由计算机自动确定规 范、自动分析、自动编程、自动执行与模拟,以规范语言AXES、资 源分配工具RTA为工具.能自动进行分析、设计,工作量少、设计规范, 也能自动进行修改和维护.该方法适用于系统分析和设计.
设计
设计,而是充分利用以前的设计工作.在软件开发时 检索对象库,若是对象库中已有的,则可再用;否则,
分析
重新定义新的对象,进行设计和实现.④测试;测试
所有的对象及对象相互之间的关系是否符合要求.
喷泉模型原理图
喷泉模型〔续〕
⑤系统组装集成:面向对象软件特点之一是软件重用和组装技术. 对象是数据和操作的封装载体,组装在一起才构成完整的系统.软件 是对象模块的复合,而软件设计是对象模块经过进程控制而构造生 成.
在第四个螺旋周期,软件开发方案、系统目标和约束条件得到 确定,在风险分析的基础上,开发具有实用价值的可操作性原型,此 时可对产品进行详细设计,进入编码、单元测试、集成测试阶段,最 后进入验收测试,验收合格后交付用户使用,进入运行、维护阶段.
确定 目标 方案 与约 束
喷泉模型原理图
逐步执行
评价方案,标识 、消除风险
软件重用模型
旨在开发具有各种一般性功能的软件模块,将它们组成软件重用 库,这些模块设计时考虑其适应各种界面的接口规格,可供软件开发 时利用.主要优点是减少软件生产中的重复开发,避免软件开发人员 的大量重复劳动,提高开发效率,缩短开发周期,降低开发成本.软件 重用库的模块不仅要便于选择使用,而且还应具有允许扩充、积累 其成分的性能.
风险分
风险分析析
操作
风险分析 确 定 目 风险
原型
原 型
性原 型
3
标
分析 原型1 2
需方束求案计约划
软件 产品 详细
生存周期计
需求 设计 设计
划
需求
开 发 计 确认
编码
划 集成测试计 计划划 下 阶 段 工作
设计验证与
单元
确认 运行 维护
验证 测试
集成 测试
测试
开发验证 下一级产 品
螺旋模型的开发过程
第一章第二课时
瀑布模型的定义
瀑布模型遵循软件生存周期的划分,明确规定每个阶段的任务, 各个阶段的工作顺序展开,恰如奔流不息拾级而下的瀑布.
计
划 时
问题定义
期
可行性研究
对应的文档资料与系统目标 方案论
概要设计
需求规格说明书 系统功能结构图
详细设计
设计规格书
编码 有 错
快速原型〔续〕——类型之三
为了保证软件产品的质量,在总体设计和详细设计过程中,用原 型来验证总体结构或某些关键算法.如果设计方案验证完成后就将 原型丢弃,则构造原型的工具不必与目标系统的生产环境一致.如果 想把原型作为最终产品的一部分,原型和目标系统可使用同样的程 序设计语言.
快速原形的开发过程
问题定义〔续〕
系统必然不能解决实际要求解决的问题.如果一个系统,不能解 决要求它解决的问题,那么这个系统就一点价值也没有,只不过是浪 费了开发它所用的时间和资源.所以及时审查问题的定义是极端重 要的.理想的做法是分析员、用户和使用部门的负责人一起阅读讨 论这份报告,明确含糊不清的地方,改正不正确的地方.通过修改得 到一份大家一致同意的文档.
•
软件的概念
•
软件的组成
• 软件危机〔概念、表现、产生原因与解决办法〕
• 软件工程
•软件发展简史〔无程序的阶段、程序阶段、软件阶段与软件工程阶 段〕
•软件生命周期〔软件生存的七个阶段:软件计划、软件需求分析、 软件总体设计、软件详细设计、软件编码、软件测试、软件维护 〕
第二课时
•软件开发模型 瀑布模型 快速原型
软件重用分两种:<1>重用程序以各种源程序形式存库;<2>重用程 序是经过编译的目标程序.
软件重用模式开发过程如下:
①设计重用库模块:重用库中的模块要经历模块定义、功能规 格描述、模块设计、编码、模块功能测试、模块登记、模块目录编 制,此后可放人重用库中.②软件系统设计:在重用库建立后,软件 系统的设计步骤如下:需求分析,功能定义、设计,在重用库中选择 模块,编码,测试,验收,运行维护.
《软件工程》课件
▪ 第一章 ▪ 第二章 ▪ 第三章 ▪ 第四章 ▪ 第五章 ▪ 第六章 ▪ 第七章 ▪ 第八章 ▪ 第九章 ▪ 第十章
《软件工程》
概述 软件计划 软件需求分析 软件总体设计 软件详细设计 软件编码 软件测试 软件维护 软件项目管理 面向对象技术
第一章第一课时
•几个基本概念
• 软件及其组成
渐增型开发的软件系统是逐渐增长和完善的,所以从整体结构上 不如瀑布型方法开发的软件那样清晰.但是,由于渐增型开发过程自 始至终都有用户参与,因而可以及时发现问题加以修改,可以更好地 满足用户需求.
快速原型〔续〕——类型之二
系统分析人员在确定了软件需求之后,从中选出某些应验证的功 能,用适当的工具快速构造出可运行的原型系统,由用户试用和评价. 这类原型往往用后就丢弃,因此构造它们的生产环境不必与目标系统 的生产环境一致,通常使用简洁而易于修改的超高级语言对原型进行 编码.
系统定义与用户 需求分析
原型设计 编码
完善原 型
测试原 型
产品系统的设 计实现
第三课时
喷泉模型 软件重用模型
第一章第三课时
喷泉模型
基于喷泉模型,Hodge等人提出将软件开发过程
划分为概念模型分析、系统设计、对象设计与实现、
测试和系统组装集成等五个阶段,它也体现出分析
和设计之间的重叠 ①概念模型分析:这个阶段主
喷泉模型〔续〕
在第二个螺旋周期,进一步明确系统的目标、开发方案及约束 条件,通过风险分析制定消除风险的方法,在原型1的基础上开发原 型2.进一步明确软件需求,进行需求确认,修改开发计划.
在第三个螺旋周期,再进一步确认系统目标、开发方案及约束条 件,进行风险分析,制订进一步消除风险的方法,在原型2的基础上开 发原型3.此时可进行产品设计,再对设计进行验证和确认,制订集成 测试计划.
问题定义的目的是要在短时间内,对用户的要求有一个比较准确的 估计,对要实现的系统规模做到胸中有数.但仅有这些还不够,还要 搞清用户不打算干什么,在这个系统中哪些内容不用实现.工作的宗 旨是搞清要做什么并划清要实现的系统的范围边界.
在完成问题定义的过程中,用户在一开始,可能会给你大堆大堆的表 格,因为他们可能认为只要把表格给你讲清楚,你就会对这个
根据建立原型的目的不同,实现原型的途径也有所不同,通常有下述 三种类型.
<1>渐增型
<2>用于验证软件需求的原型
<3>用于验证设计方案的原型
快速原型〔续〕——类型之一
先选择一个或几个关键功能,建立一个不完全的系统,此时只包 含目标系统的一部分功能或对目标系统的功能从某些方面作简化,通 过运行这个系统取得经验,加深对软件需求的了解,逐步使系统扩充 和完善.如此反复进行,直到软件人员和用户对所设计的软件系统满 意为止.
瀑布模型开发适合于在软件需求比较明确,开发技术比较成熟,工 程管理比较严格的场合下使用.
<2>尽可能推迟软件的编码:程序设计也称为编码.实践表明,大、 中型软件编码开始得越早,完成所需的时间反而越长.瀑布模型在编 码之前安排了需求分析、总体设计、详细设计等阶段,从而把逻辑设 计和编码清楚地划分开来,尽可能推迟程序编码阶段.
演化
要目标是建立系统模型.系统模型中的对象是现实
世界中的客观对象的抽象,应结构清晰、易于理解、
易于描述其规范.在分析阶段面向问题域,建立起对
集成
象模型和过程模型.②系统设计:给出模型对象和
测试
过程的规范描述.③对象设计与实现:面向对象设
计方法强调软件模块的再用和软件合成,因而在对
编程
象设计和实现时,并不要求所有的对象都从头开始
<3>保证质量 :为了保证质量,瀑布模型软件开发在每个阶段都要 完成规定的文档,每个阶段都要对已完成的文档进行复审,以便及早 发现隐患,排除故障.
快速原型
正确的需求定义是系统成功关键.软件开发人员需要反复多次地 和用户交流信息,才能全面、准确地了解用户的要求.理想的做法是 先根据需求分析的结果开发一个原型系统,请用户试用一段时间,以 便能正确地认识到他们的实际需要是什么,这相当于工程上先制作" 样品"试用后,作适当改进,然后再批量生产一样,这就是快速原型法.虽 然此法要额外花费一些成本,但是可以尽早获得更正确完整的需求, 可以减少测试和调试的工作量,提高软件质量.因此快速原型法使用 得当,能减少软件的总成本,缩短开发周期,是目前比较流行的实用开 发模式.
测试
程序规格书、源程序 测试记录、用户操作手册
运行
运
行
时
期
维护
评价报告、维护记录
瀑布模型的特点
<1>软件生存周期的顺序性:只有前一阶段工作完成以后,后一阶 段的工作才能开始,前一阶段的输出文档,就是后一阶段的输入文档. 只有前一阶段有正确的输出,后一阶段才可能有正确的结果.如果在 生存周期的某一阶段出现了错误,往往要追溯到在它之前的一些阶段.
问题定义〔续〕
系统全部弄清楚了.还有一些人可能会给你展示一些企业的十分详 尽的管理示图,如物资流管理图、生产管理图、计划财务管理图等. 因为他们也可能认为,只要分析员把这些图看懂了,就会对他们要建 立的系统搞清楚了.
但是,在问题定义阶段千万不要陷入到这些表格和图纸中.因为不管 是表格还是图纸,其中都包含了大量的、只有用户才能懂的术语.当 然,并不是说在问题定义阶段,这些图纸表格没有一点作用.对一些 关键性的语汇可以请用户讲清楚,这样有利于问题定义的准确性.
第二章第一课时
•问题定义与可行性研究 问题定义
可行性研究
问题定义
问题是指用户的基本要求,就是确切地定义用户要求解决的问题, 即确定问题的性质、工程的目标和规模.
怎样定义问题?问题定义的来源是用户,是提出问题、请求解决的 人.
若问题是以书面形式提出来,那么分析员应该认真阅读和分析书面 材料;如果问题是以口头形式提出,那么分析员应该认真倾听并仔 细记录要点,在适当的时候认真地请用户解释.分析员还应该通过对 用户的访问调查进一步搞清楚,用户为什么提出这样的问题,问题的 背景是什么,用户的目标是什么.
在问题定义阶段,分析员应该对工程成本做出粗略的预算,并 对下阶段可行性研究所需要时间和成本做出较精确的估计.
总之,在问题定义阶段,分析员应尽可能站在较高的角度去抽 象、概括所要干的事情.
分析员对问题有了明确认识之后,应该把自己的认识写成书面 报告,提交给用户和使用部门的负责人审查,以检验分析员对所要解 决的问题的理解是否正确.因为分析员对问题的理解为今后开发工 作确定了方向.分析员对问题理解正确,这是确保今后系统开发成功 的关键.反之,分析员对问题理解不正确,最终开发出来的
第一章第四课时
喷泉模型 软件工程的任务与研究范围 软件开发的原则与开发方法
返回
喷泉模型
瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多 情况下往往是做不到的.螺旋模型试图克服瀑布模型的这一不足.SM 把软件开发过程安排为逐步细化的螺旋周期序列,每经历一个周期, 系统就细化和完善一些.SM每—螺旋周期由六个步骤组成: <1> 确定任务目标: 根据初始需求分析项目计划,确定任务目标、可选 方案和限制.<2>选择对象:对各种软硬件设备、开发方法、技术、 开发工具、人员、开发管理等对象进行选择:并决定软件是进行研 制、购买还是利用现有的.<3>分析约束条件:软件开发的时间、经 费等限制条件.<4>风险分析:评估目标、对象、约束条件三者之间 的联系,列出可能出.现的问题及问题的严重程度等,把最重要的问 题作为尚未解决的关键问题的风险.<5>制定消除风险的方法:应有 详尽的说明和周密的计划,并估计可能产生的后果.依此来开发软件, 为制订下一周期的计划打下基础.<6>制定下一周期的工作计划:在 第一个螺旋周期,确定目标、选择对象、分析约束,通过风险分析制 订消除风险的方法,初步开发原型1,制定系统生存周期计划.
软件工程的任务与研究范围
•软件产品的特点 •软件工程的研究内容与方法 •软件工具与软件支撑环境 •软件管理
软件开发的原则与方法
•软件开发的原则 • 自顶向下与模块结构 •软件开发的方法 •1.非自动形式的系统开发方法 •〔1〕系统流程图〔2〕结构分析法〔3〕结构化设计法 •〔4〕数据结构法〔5〕层次输入——处理——输出方法<HIPO法> • 2.半自动形式的系统开发方法 •〔1〕软件需求工程法〔2〕问题说明语言与分析法 • 3. 自动形式的系统开发方法 〔HOS方法〕:由计算机自动确定规 范、自动分析、自动编程、自动执行与模拟,以规范语言AXES、资 源分配工具RTA为工具.能自动进行分析、设计,工作量少、设计规范, 也能自动进行修改和维护.该方法适用于系统分析和设计.
设计
设计,而是充分利用以前的设计工作.在软件开发时 检索对象库,若是对象库中已有的,则可再用;否则,
分析
重新定义新的对象,进行设计和实现.④测试;测试
所有的对象及对象相互之间的关系是否符合要求.
喷泉模型原理图
喷泉模型〔续〕
⑤系统组装集成:面向对象软件特点之一是软件重用和组装技术. 对象是数据和操作的封装载体,组装在一起才构成完整的系统.软件 是对象模块的复合,而软件设计是对象模块经过进程控制而构造生 成.
在第四个螺旋周期,软件开发方案、系统目标和约束条件得到 确定,在风险分析的基础上,开发具有实用价值的可操作性原型,此 时可对产品进行详细设计,进入编码、单元测试、集成测试阶段,最 后进入验收测试,验收合格后交付用户使用,进入运行、维护阶段.
确定 目标 方案 与约 束
喷泉模型原理图
逐步执行
评价方案,标识 、消除风险
软件重用模型
旨在开发具有各种一般性功能的软件模块,将它们组成软件重用 库,这些模块设计时考虑其适应各种界面的接口规格,可供软件开发 时利用.主要优点是减少软件生产中的重复开发,避免软件开发人员 的大量重复劳动,提高开发效率,缩短开发周期,降低开发成本.软件 重用库的模块不仅要便于选择使用,而且还应具有允许扩充、积累 其成分的性能.
风险分
风险分析析
操作
风险分析 确 定 目 风险
原型
原 型
性原 型
3
标
分析 原型1 2
需方束求案计约划
软件 产品 详细
生存周期计
需求 设计 设计
划
需求
开 发 计 确认
编码
划 集成测试计 计划划 下 阶 段 工作
设计验证与
单元
确认 运行 维护
验证 测试
集成 测试
测试
开发验证 下一级产 品
螺旋模型的开发过程
第一章第二课时
瀑布模型的定义
瀑布模型遵循软件生存周期的划分,明确规定每个阶段的任务, 各个阶段的工作顺序展开,恰如奔流不息拾级而下的瀑布.
计
划 时
问题定义
期
可行性研究
对应的文档资料与系统目标 方案论
概要设计
需求规格说明书 系统功能结构图
详细设计
设计规格书
编码 有 错
快速原型〔续〕——类型之三
为了保证软件产品的质量,在总体设计和详细设计过程中,用原 型来验证总体结构或某些关键算法.如果设计方案验证完成后就将 原型丢弃,则构造原型的工具不必与目标系统的生产环境一致.如果 想把原型作为最终产品的一部分,原型和目标系统可使用同样的程 序设计语言.
快速原形的开发过程
问题定义〔续〕
系统必然不能解决实际要求解决的问题.如果一个系统,不能解 决要求它解决的问题,那么这个系统就一点价值也没有,只不过是浪 费了开发它所用的时间和资源.所以及时审查问题的定义是极端重 要的.理想的做法是分析员、用户和使用部门的负责人一起阅读讨 论这份报告,明确含糊不清的地方,改正不正确的地方.通过修改得 到一份大家一致同意的文档.
•
软件的概念
•
软件的组成
• 软件危机〔概念、表现、产生原因与解决办法〕
• 软件工程
•软件发展简史〔无程序的阶段、程序阶段、软件阶段与软件工程阶 段〕
•软件生命周期〔软件生存的七个阶段:软件计划、软件需求分析、 软件总体设计、软件详细设计、软件编码、软件测试、软件维护 〕
第二课时
•软件开发模型 瀑布模型 快速原型
软件重用分两种:<1>重用程序以各种源程序形式存库;<2>重用程 序是经过编译的目标程序.
软件重用模式开发过程如下:
①设计重用库模块:重用库中的模块要经历模块定义、功能规 格描述、模块设计、编码、模块功能测试、模块登记、模块目录编 制,此后可放人重用库中.②软件系统设计:在重用库建立后,软件 系统的设计步骤如下:需求分析,功能定义、设计,在重用库中选择 模块,编码,测试,验收,运行维护.
《软件工程》课件
▪ 第一章 ▪ 第二章 ▪ 第三章 ▪ 第四章 ▪ 第五章 ▪ 第六章 ▪ 第七章 ▪ 第八章 ▪ 第九章 ▪ 第十章
《软件工程》
概述 软件计划 软件需求分析 软件总体设计 软件详细设计 软件编码 软件测试 软件维护 软件项目管理 面向对象技术
第一章第一课时
•几个基本概念
• 软件及其组成
渐增型开发的软件系统是逐渐增长和完善的,所以从整体结构上 不如瀑布型方法开发的软件那样清晰.但是,由于渐增型开发过程自 始至终都有用户参与,因而可以及时发现问题加以修改,可以更好地 满足用户需求.
快速原型〔续〕——类型之二
系统分析人员在确定了软件需求之后,从中选出某些应验证的功 能,用适当的工具快速构造出可运行的原型系统,由用户试用和评价. 这类原型往往用后就丢弃,因此构造它们的生产环境不必与目标系统 的生产环境一致,通常使用简洁而易于修改的超高级语言对原型进行 编码.
系统定义与用户 需求分析
原型设计 编码
完善原 型
测试原 型
产品系统的设 计实现
第三课时
喷泉模型 软件重用模型
第一章第三课时
喷泉模型
基于喷泉模型,Hodge等人提出将软件开发过程
划分为概念模型分析、系统设计、对象设计与实现、
测试和系统组装集成等五个阶段,它也体现出分析
和设计之间的重叠 ①概念模型分析:这个阶段主
喷泉模型〔续〕
在第二个螺旋周期,进一步明确系统的目标、开发方案及约束 条件,通过风险分析制定消除风险的方法,在原型1的基础上开发原 型2.进一步明确软件需求,进行需求确认,修改开发计划.
在第三个螺旋周期,再进一步确认系统目标、开发方案及约束条 件,进行风险分析,制订进一步消除风险的方法,在原型2的基础上开 发原型3.此时可进行产品设计,再对设计进行验证和确认,制订集成 测试计划.
问题定义的目的是要在短时间内,对用户的要求有一个比较准确的 估计,对要实现的系统规模做到胸中有数.但仅有这些还不够,还要 搞清用户不打算干什么,在这个系统中哪些内容不用实现.工作的宗 旨是搞清要做什么并划清要实现的系统的范围边界.
在完成问题定义的过程中,用户在一开始,可能会给你大堆大堆的表 格,因为他们可能认为只要把表格给你讲清楚,你就会对这个
根据建立原型的目的不同,实现原型的途径也有所不同,通常有下述 三种类型.
<1>渐增型
<2>用于验证软件需求的原型
<3>用于验证设计方案的原型
快速原型〔续〕——类型之一
先选择一个或几个关键功能,建立一个不完全的系统,此时只包 含目标系统的一部分功能或对目标系统的功能从某些方面作简化,通 过运行这个系统取得经验,加深对软件需求的了解,逐步使系统扩充 和完善.如此反复进行,直到软件人员和用户对所设计的软件系统满 意为止.
瀑布模型开发适合于在软件需求比较明确,开发技术比较成熟,工 程管理比较严格的场合下使用.
<2>尽可能推迟软件的编码:程序设计也称为编码.实践表明,大、 中型软件编码开始得越早,完成所需的时间反而越长.瀑布模型在编 码之前安排了需求分析、总体设计、详细设计等阶段,从而把逻辑设 计和编码清楚地划分开来,尽可能推迟程序编码阶段.
演化
要目标是建立系统模型.系统模型中的对象是现实
世界中的客观对象的抽象,应结构清晰、易于理解、
易于描述其规范.在分析阶段面向问题域,建立起对
集成
象模型和过程模型.②系统设计:给出模型对象和
测试
过程的规范描述.③对象设计与实现:面向对象设
计方法强调软件模块的再用和软件合成,因而在对
编程
象设计和实现时,并不要求所有的对象都从头开始
<3>保证质量 :为了保证质量,瀑布模型软件开发在每个阶段都要 完成规定的文档,每个阶段都要对已完成的文档进行复审,以便及早 发现隐患,排除故障.
快速原型
正确的需求定义是系统成功关键.软件开发人员需要反复多次地 和用户交流信息,才能全面、准确地了解用户的要求.理想的做法是 先根据需求分析的结果开发一个原型系统,请用户试用一段时间,以 便能正确地认识到他们的实际需要是什么,这相当于工程上先制作" 样品"试用后,作适当改进,然后再批量生产一样,这就是快速原型法.虽 然此法要额外花费一些成本,但是可以尽早获得更正确完整的需求, 可以减少测试和调试的工作量,提高软件质量.因此快速原型法使用 得当,能减少软件的总成本,缩短开发周期,是目前比较流行的实用开 发模式.
测试
程序规格书、源程序 测试记录、用户操作手册
运行
运
行
时
期
维护
评价报告、维护记录
瀑布模型的特点
<1>软件生存周期的顺序性:只有前一阶段工作完成以后,后一阶 段的工作才能开始,前一阶段的输出文档,就是后一阶段的输入文档. 只有前一阶段有正确的输出,后一阶段才可能有正确的结果.如果在 生存周期的某一阶段出现了错误,往往要追溯到在它之前的一些阶段.
问题定义〔续〕
系统全部弄清楚了.还有一些人可能会给你展示一些企业的十分详 尽的管理示图,如物资流管理图、生产管理图、计划财务管理图等. 因为他们也可能认为,只要分析员把这些图看懂了,就会对他们要建 立的系统搞清楚了.
但是,在问题定义阶段千万不要陷入到这些表格和图纸中.因为不管 是表格还是图纸,其中都包含了大量的、只有用户才能懂的术语.当 然,并不是说在问题定义阶段,这些图纸表格没有一点作用.对一些 关键性的语汇可以请用户讲清楚,这样有利于问题定义的准确性.
第二章第一课时
•问题定义与可行性研究 问题定义
可行性研究
问题定义
问题是指用户的基本要求,就是确切地定义用户要求解决的问题, 即确定问题的性质、工程的目标和规模.
怎样定义问题?问题定义的来源是用户,是提出问题、请求解决的 人.
若问题是以书面形式提出来,那么分析员应该认真阅读和分析书面 材料;如果问题是以口头形式提出,那么分析员应该认真倾听并仔 细记录要点,在适当的时候认真地请用户解释.分析员还应该通过对 用户的访问调查进一步搞清楚,用户为什么提出这样的问题,问题的 背景是什么,用户的目标是什么.
在问题定义阶段,分析员应该对工程成本做出粗略的预算,并 对下阶段可行性研究所需要时间和成本做出较精确的估计.
总之,在问题定义阶段,分析员应尽可能站在较高的角度去抽 象、概括所要干的事情.
分析员对问题有了明确认识之后,应该把自己的认识写成书面 报告,提交给用户和使用部门的负责人审查,以检验分析员对所要解 决的问题的理解是否正确.因为分析员对问题的理解为今后开发工 作确定了方向.分析员对问题理解正确,这是确保今后系统开发成功 的关键.反之,分析员对问题理解不正确,最终开发出来的