问题定义与可行性分析课件_第1页
问题定义与可行性分析课件_第2页
问题定义与可行性分析课件_第3页
问题定义与可行性分析课件_第4页
问题定义与可行性分析课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章问题定义与可行性分析11/22/20221第三章问题定义与可行性分析9/24/20221§3.1基于计算机的系统§3.2计算机系统工程

硬件和硬件工程,软件和软件工程,人和人类工程,数据库和数据库工程§3.3系统需求分析系统需求分析目标,问题定义,可行性研究§3.4系统结构模型化提纲11/22/20222§3.1基于计算机的系统提纲9/24/20222§3.1基于计算机的系统问题:是否学习了软件工程就能完全解决实际问题?回答:否,因为软件工程只是计算机系统中的一个元素。11/22/20223§3.1基于计算机的系统问题:是否学习了软件工程就能完全解§3.1基于计算机的系统硬件=为系统提供计算能力的电子设备,如:Mainframe、存储设备、网络设备等;硬件的处理能力和性能必须满足系统的功能和性能要求。软件=程序+数据+文档人=硬件和软件的用户和操作员。HCI(HumanConversationInterface)在系统的分析和设计过程中一定要以人为本。(这是软件人员经常犯的错误:操作以开发人员的习惯来设计,忽略了用户的意见。)数据库=大型信息的有组织集合。并不是所有的系统都有数据库元素,若有的话,一般是系统功能的核心。过程=定义每一种系统元素特定的使用步骤,或者系统驻留的过程性环境。11/22/20224§3.1基于计算机的系统硬件=为系统提供计算能力的电子设备§3.2计算机系统工程定义:是一个问题求解的活动,目的是揭示、分析所期望的功能、性能、接口、设计限制和信息结构的表示,并把它们分配到各个系统元素中去。(由系统分析工程师和用户合作完成)界定系统:确定系统的功能、性能、约束和接口(系统和环境的关系)分配:把系统的功能分配到一个或者多个系统元素。一个功能可能分配到不同的系统生成元素(软件、硬件和人)中,因此,可能存在多种分配方案。11/22/20225§3.2计算机系统工程定义:是一个问题求解的活动,目的是揭§3.2计算机系统工程哪种方案更有效?有一定的权衡准则:项目考虑:成本和进度范围内,系统配置能否实现?相关的风险呢?商业考虑:是否赢利?占领市场?技术分析:是否能做(技术实力)?做的质量如何(性能问题)?做的效率如何?配置评估:系统配置是否有效?(市场采购)人员问题:研发人员素质?用户对系统的理解?环境接口:与外界环境接口是否合适?法律考虑:是否违法?是否会受到侵权?11/22/20226§3.2计算机系统工程哪种方案更有效?有一定的权衡准则:9§3.2.1硬件和硬件工程系统工程师应该明确:何种硬件能够最好地实现所确定的功能;(TPC-C的tpmC指标)这种硬件能够在市面上买到吗?来源、有效性、价格如何?硬件提供商提供哪些服务?(安装调试...)硬件之间的接口兼容吗?如果没有现成的部分硬件,就需要自己开发,需求是什么?(又一个工程问题)11/22/20227§3.2.1硬件和硬件工程系统工程师应该明确:9/24/2§3.2.2软件和软件工程软件工程师开发满足分配的功能和性能要求的软件部件。11/22/20228§3.2.2软件和软件工程软件工程师开发满足分配的功能和性§3.2.2软件和软件工程11/22/20229§3.2.2软件和软件工程9/24/20229§3.2.2软件和软件工程11/22/202210§3.2.2软件和软件工程9/24/202210§3.2.3人和人类工程人在系统中的作用:直接和硬件与软件进行交互,实现系统功能;(使用)人开发系统;人维护系统用户友好性(user-friendly),要考虑:人的记忆和知识表示;(knowledge)人的思考和推理线索;(think:结果还是过程)人对美观的直觉;(intuitive)人的对话构造等。(conversation)11/22/202211§3.2.3人和人类工程人在系统中的作用:9/24/202§3.2.3人和人类工程HCI的设计过程步骤:识别分配给人完成的与其他系统元素交互的活动,并进一步划分成任务;精确定义人为了完成某一任务而必需的动作,并构造完成该任务的动作序列(对话);确定每一个动作的实现形式;将人和其他系统元素组合在一起形成用户环境;采纳原型对HCI进行评估,并最终确定HCI。11/22/202212§3.2.3人和人类工程HCI的设计过程步骤:9/24/2§3.2.3数据库和数据库工程包括:数据库分析、设计和实现;系统工程师要完成的任务:定义数据库中包含的信息处理查询的类型数据存取的方式数据库的容量等11/22/202213§3.2.3数据库和数据库工程包括:数据库分析、设计和实现§3.3系统需求分析§3.3.1系统需求分析目标识别用户的要求:功能、性能、约束、接口等;评价系统的可行性:经济、技术、社会环境、人、法律等;把功能分配给硬件、软件、人、数据库等系统元素中;建立成本和进度限制;生成系统规格说明书(包括问题定义报告和可行性分析报告)11/22/202214§3.3系统需求分析§3.3.1系统需求分析目标9/24§3.3.2问题定义回答:要解决的问题是什么?内容:问题的背景,开发系统的现状,开发的理由和条件,开发系统的问题要求,总体要求,问题的性质,类型范围,要实现的目标,功能规模,实现目标的方案,开发的条件,环境要求。11/22/202215§3.3.2问题定义回答:要解决的问题是什么?9/24/2§3.3.2问题定义例子:某校教材科提出开发微机教材销售系统的要求,经过系统分析员的调查,写出如下的问题定义报告,说明微机教材销售系统的目标范围。(1)项目:教材销售系统。(2)背景:人工销售效率低,易出错。(3)项目目标:建立一个高效率的,无差错的微机教材销售系统。(4)项目范围:硬件利用现有微机,软件开发费不超过1500元。(5)初步设想:建立增加缺书统计与采购功能。(6)可行性研究:建议进行一周,费用不超过100元。11/22/202216§3.3.2问题定义例子:某校教材科提出开发微机教材销售系§3.3.3可行性研究可行性研究的目的不是解决问题,而是确定问题是否值得去解决。首先,要进一步分析和澄清问题定义。在问题定义阶段初步确定的规模和目标,如果是正确的就进一步加以肯定,如果有错误就及时改正,如果对目标系统有任何约束和限制,必须把它们清楚地列举出来。其次,在澄清了问题定义之后,就可导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干种可供选择的方案,对每种方案都应该仔细研究它的可行性。11/22/202217§3.3.3可行性研究可行性研究的目的不是解决问题,而是确§3.3.3可行性研究1、经济可行性经济可行性包括软件开发项目的成本效益估计,以确定软件系统可能带来的经济效益是否超过研制和维护所需要的费用。<1>费用估计(1)设备。计算机硬件、输入输出设备、空调,电源,机房及其它设施,系统软件,数据库管理系统,各种应用软件(包括软件包)的估算。(2)人力。研制人员(系统分析人员),操作人员(系统管理人员、操作人员、数据录入人员、维护人员)的工资、奖金以及他们的培训费用。(3)材料。水、电、打印纸、色带和各种易耗物品及设备的维修费用。11/22/202218§3.3.3可行性研究1、经济可行性9/24/202218§3.3.3可行性研究(4)管理。由于采用新的软件系统、工作方式会带来变化,管理人员的任务也发生改变,这些变化会增加一些额外的管理费用,其中有些是一次性的,有些是经常性的。(5)其他。市场攻关和管理费、宣传费等。普通存在的问题是:费用估计往往偏低,例如只考虑主机价格而不考虑外设价格(有时主机价格仅占1/3左右);对软件费用、日常维护费用、人员培训费用考虑不周,其结果是一次次地追加费用,造成骑虎难下的局面。11/22/202219§3.3.3可行性研究(4)管理。由于采用新的软件系统、工§3.3.3可行性研究<2>效益估计有形收益货币的时间价值:将未来的收益按照通用率折算到现在。投资回收期:累计的经济效益等同于初期投入成本的时间。纯收入:累计经济效益折合成现在值后与投入成本之间的差。无形效率估算新软件能提供哪些以前不能做或难以做到的工作,提供信息的速度、精度、质量有什么提高,使用人员查询和使用信息的能力有哪些提高,节省多少人力等。11/22/202220§3.3.3可行性研究<2>效益估计9/24/202220§3.3.3可行性研究

Note:无形效率估算难以给出定量的数字,只能凭经验作出大致的估算。通常的情况是估算往往容易偏高。

例如:手工制定一张工资表需要2天(16个小时=960分钟),如果用计算机管理,10分钟就能打印一张工资表。那么,能否得出效率提高96倍的结论呢?恐怕不能。因为它还受到数据输入等因素的制约,一般能提高2—3倍就不错了。因此,不能把某个环节上工作生产率的提高看成整个系统工作效率的提高。11/22/202221§3.3.3可行性研究 Note:无形效率估算难以给出定量§3.3.3可行性研究<3>长期-短期利益分析短期利益容易把握,风险较低,但利益较少,甚至没有利益;(沉迷现实,无远大抱负)长期利益难以把握,风险较大。(要么是将帅之才,要么就是纸上谈兵、眼高手低之辈)2、技术可行性技术可行性指现有情况下能否完成这个项目。例如:处理信息的速度现有计算机能否达到,要求的数据输入、输出量现有的输入输出设备能否承担,开发项目的硬、软件资源能否按期到达,有无胜任开发系统的熟练技术人员等。11/22/202222§3.3.3可行性研究<3>长期-短期利益分析9/24/2§3.3.3可行性研究做得了吗?在给定的成本和进度要求下能否实现问题定义中的功能和性能(开发的风险)。资源是否有效(人、硬件、软件设备是否具备必要的条件等)做得好吗?支持软件性能要求的技术是否能够达到?做得快吗?生产率如何(不要忘了系统的维护时间!)11/22/202223§3.3.3可行性研究做得了吗?在给定的成本和进度要求下能§3.3.3可行性研究3、社会因素的考虑市场因素:未成熟市场、成熟市场、将消亡市场政策因素:业务流程要符合企业政策或者国家政策。(互联网企业与中国电信)法律因素:软件开发是否会侵犯他人、集体或国家的利益,是否违反国家的法律并由此而承担法律责任。例如,采用微波技术作为通信手段来传送信息,价格便宜,技术可行,但由于保密要求,规定在大城市禁止使用微波,因此只能改用电缆。11/22/202224§3.3.3可行性研究3、社会因素的考虑9/24/2022§3.3.3可行性研究4、人的因素人“物”:当领导人“才”:第一线开发人员,“举重若轻”可以升级为人物、“举轻若重”只适合做软件开发人员。人“手”:行政人员人“渣”:负责攻关(以上是一位从事软件工程多年的业内人士的观点)可行性研究最后必须得出结论:项目可行,立即开始;项目可行,时机不成熟;项目不可行。11/22/202225§3.3.3可行性研究4、人的因素9/24/202225§3.3.3可行性研究步骤:复查问题定义,了解系统规模和目标、范围等。研究目前使用的系统。现有系统是信息的重要来源,运行旧系统所需要的费用是一个重要的经济指标,如果新系统不能增加收入或减少使用费用,那么从经济角度看新系统就不如旧系统。不要花费过多时间去分析现有的系统如何做,而是了解现有系统能做什么。分析员应该画出描绘现有系统的高层系统流程图,并请有关人员检验他对现有系统的认识是否正确。不要花费太多时间去了解现有系统的实现细节(这些工作在软件需求分析中完成)。没有一个系统是在“真空”中运行的,绝大多数系统都和其它系统有联系。应该注意了解并记录现有系统和其它系统之间的接口情况,这是设计新系统时的重要约束条件。11/22/202226§3.3.3可行性研究步骤:9/24/202226§3.3.3可行性研究导出新系统的高层逻辑模型优秀的设计通常总是从现有的物理系统出发,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。重新定义问题新系统的逻辑模型实质上表达了分析员对新系统必须做什么的看法。用户是否也有同样的看法呢?分析员应该和用户一起再次复查问题定义、工程规模和目标。(以上四个步骤反复进行!)11/22/202227§3.3.3可行性研究导出新系统的高层逻辑模型9/24/2§3.3.3可行性研究导出和评价供选择的解法分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解决方案,供比较和选择。这些解决方案是从技术角度出发考虑的。因此:首先:应该根据技术可行性的考虑,初步排除一些不现实的系统。其次:可以考虑经济方面的可行性。分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。在这些估计数字的基础上,对每个可能的系统进行成本效益分析。再次:可以考虑社会(法律)可行性。分析员分析开发系统是否符合当前社会生产管理经营体制要求,有无版权纠纷、生产安全、与国家法律相违背的问题,作出法律上社会上可行性的结论。最后:为每个在技术、经济和社会等方面都可行的系统制定实现进度表。这个进度表不需要(也不可能)编制得很详细,通常只需要估计出软件生命周期每个阶段的工作量。推荐行动方案11/22/202228§3.3.3可行性研究导出和评价供选择的解法9/24/20§3.3.3可行性研究草拟开发计划分析员应该进一步为推荐的系统草拟一份开发计划:工程进度表估计对各种开发人员(系统分析员、程序员、资料员等等)和各种资源(计算机硬件,软件工具等等)的需要情况,应该指明什么时候使用以及使用多长时间。应该估计系统生命周期每个阶段的成本。给出下一个阶段(需求分析)的详细进度表和成本估计。11/22/202229§3.3.3可行性研究草拟开发计划9/24/202229§3.3.3可行性研究书写文档提交审查可行性研究报告可以归档为一个单独的报告→上级管理部门,或者作为系统规格说明的附件。可行性研究报告的内容包括:11/22/202230§3.3.3可行性研究书写文档提交审查9/24/20223§3.4系统结构模型化系统物理模型的表达工具-系统流程图系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。系统流程图表达的是信息在系统各部件之间流动的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论