软件开发与管理——可行性分析.pptx
LOGO任务二任务二任务二任务二 从技术、经济和社会三方面论证项目可行性从技术、经济和社会三方面论证项目可行性从技术、经济和社会三方面论证项目可行性从技术、经济和社会三方面论证项目可行性2.1概概述述 1.任务概述任务概述 分析和明确问题,如果初步确定的规模和目标是正确的就进一步加以肯定,如果有错误就应及时改正。附加项目的约束和限制,抽象出逻辑结构,建立逻辑模型。提出若干种解决方案,对每种方案从技术、经济和社会三个方面进行分析论证,做出决策。最后写出可行性分析报告。2.任务目的任务目的 用最小的代价在尽可能短的时间内确定该软件项目是否能够开发、是否值得去开发。最终要决定“该项目目前做还是不做”。3.具备能力具备能力 行业领悟 明确问题定义,提出问题解决方案 分析论证 熟练使用辅助工具 规范化、有效沟通、团队合作 文字、语言表达能力 4.掌握知识掌握知识 可行性研究任务与步骤 系统模型,系统流程图 技术、经济和社会可行性工作内容工作内容 明确问题定义明确问题定义 1 分析论证分析论证 2 开展可行性分析开展可行性分析 3网上宠物商店可行性分析网上宠物商店可行性分析 42.2明确问题定义明确问题定义 1.问题定义问题定义 定义问题(Definition)就是对要解决的问题进行描述。深入现场,阅读用户写的书面报告、听取用户对开发系统的要求、调查开发软件系统的背景,开发软件系统的现状、开发的理由和条件、开发软件系统的问题要求、总体要求、问题的性质、类型范围、要实现的目标、功能规模、实现目标的方案、开发的条件、环境要求等等。还要与用户负责人反复讨论,以澄清模糊的地方、改正不正确的地方,最后写出双方都满意的问题定义报告(或称软件系统定义报告),并确定双方是否可进行深入软件系统可行性研究的意向。2.系统流程图系统流程图 软件系统流程图(System Flow Chart)也叫事务流程图,是描绘物理系统的有效工具。它的基本思想是用图形符号(如表2-1所示)以黑盒子形式描绘软件系统里面的每一个部件(程序、文件、数据库、表格、人工过程等)。系统流程图的主要作用有:(1)构建系统流程图的过程是分析员全面了解系统业务情况的过程,它是分析员作进一步分析的依据。(2)系统流程图是可行性分析所有参与者相互交流的有效工具。(3)可以直接在系统流程图上拟出计算机可实现的部分。2.2明确问题定义明确问题定义 符号名称说明处理能改变数据值或数据位置的加工或部件输入/输出表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号连接指出转到图的另一部分或从图的另一部分转来,通常在同一页上换页连接指出转到另一页图上或由另一页图转来人工操作由人工完成处理数据流用来连接其他符号,指明数据流动方向软件系统流程图的基本符号软件系统流程图的基本符号 2.2明确问题定义明确问题定义 3.3.系统流程图实例系统流程图实例教务管理系统的系统流程图教务管理系统的系统流程图 问题简述问题简述 学院教务处负责学院日常教学秩序的管理。工作内容主要有制定各专业的培养计划,编排课表和课表日常调度,管理学生学籍变动、学生毕业审核,进行学生学习期间的成绩管理,制定教材使用计划、完成教材的购、发、存管理,组织学生、教师参加各种考试或培训,对教师任课资格、教学质量、历年任课情况进行管理等。系统流程图系统流程图 2.3 2.3 分析论证分析论证 可行性研究(Feasibility Study)的任务是用最小的代价、在尽可能短的时间内确定问题是否能够解决。在明确了问题定义之后,分析员首先应该导出系统的逻辑模型,然后从系统逻辑模型出发,探索出若干种可供选择的主要解法(即系统实现方案),最后仔细研究每种解法的可行性。一般说来,研究可行性应该从下述几方面进行:(1)技术可行性指使用现有的技术能否完成这个项目。技术可行性分析至少要考虑做得了吗、做得好吗、做得快吗几方面因素(2)经济可行性主要包括“成本收益”分析和“短期长远利益”分析。通过对软件开发项目进行成本/效益估计,以确定软件系统可能带来的经济效益能否超过研制和维护此系统所需的费用。(3)社会、法律因素分析软件开发是否会侵犯他人、集体或国家的利益,是否违反国家的法律并可能由此而承担法律责任。2.4 开展可行性分析开展可行性分析 参与可行性分析的主要人员有用户和分析员。用户和分析员通过开展一系列的活动来对项目进行可行性分析。2.4 开展可行性分析开展可行性分析12345分析的具体步骤(一)分析的具体步骤(一)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型深入现场,阅读用户写的书面报告、听取用户对开发系统的要求、调查开发系统的背景、开发系统的现状、开发的理由和条件、开发系统的问题要求、总体要求、问题的性质、类型范围、要实现的目标、功能规模、实现目标的方案、开发的条件、环境要求等等。还要与用户负责人反复讨论,以澄清模糊的地方、改正不正确的地方。最后写出双方都满意的问题定义报告,并确定双方是否可进行深入系统可行性研究的意向。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查2.4 开展可行性分析开展可行性分析12345分析的具体步骤(二)分析的具体步骤(二)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型现有的系统是信息的重要来源。显然,如果目前有一个系统正被人使用,那么这个系统必定能完成某些有用的工作,因此,新的目标系统必须也能完成它的基本功能;另一方面,如果现有的系统是完美无缺的,用户自然不会提出开发新系统的要求,因此,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。此外,运行使用旧系统所需要的费用是一个重要的经济指标,如果新系统不能增加收入或减少使用费用,那么从经济角度看新系统不如旧系统 6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查2.4 开展可行性分析开展可行性分析12345分析的具体步骤(三)分析的具体步骤(三)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。通过进一步的工作,分析员对目标系统应该具有的基本功能和所受的约束已有一定了解,能够使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想。通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查12345分析的具体步骤(四)分析的具体步骤(四)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型新系统的逻辑模型实质上表达了分析员对新系统必须做什么的看法。用户是否也有同样的看法呢?分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。如果分析员对问题有误解或者用户曾经遗漏了某些要求,那么现在是发现和改正这些错误的时候了。可行性研究的前四个步骤其实构成一个循环。分析员定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查2.4 开展可行性分析开展可行性分析12345分析的具体步骤(五)分析的具体步骤(五)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型从建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。到处供选择的解法的最简单的途径,是从技术角度出发考虑解决问题的不同方案。当从技术角度提出了一些可能的物理系统之后,应该根据技术可行性的考虑初步排除一些不现实的系统。其次可以考虑操作方面的可行性.分析员应该根据使用部门处理事物的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。接下来应该考虑经济方面的可行性.最后为每个在技术、操作和经济等方面可行的系统制定实现进度表,这个进度表不需要指定得很详细,通常只需要估计生命周期每个阶段的工作量。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查2.4 开展可行性分析开展可行性分析2.4 开展可行性分析开展可行性分析12345分析的具体步骤(六)分析的具体步骤(六)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型根据可行性研究结果应该作出一个关键性的决定是,是否继续进行这项开发工程。分析员必须清楚地表明他对这个关键性决定的建议。如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。通常使用部门的负责人主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查2.4 开展可行性分析开展可行性分析12345分析的具体步骤(七分析的具体步骤(七)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型进一步为推荐的系统草拟一份开发计划。除了工程进度表之外还应该估计对各种开发人员(系统分析员,程序员,资料员等等)和各种资源(计算机硬件,软件工具等等)的需要情况,应该指明什么时候使用以及使用多长时间。此外还应该估计系统生命周期每个阶段的成本。最后给出下一个阶段(需求分析)的详细进度表和成本估计。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8(1)书写文档、书写文档、提交审查提交审查2.4 开展可行性分析开展可行性分析12345分析的具体步骤(八分析的具体步骤(八)导出和评价导出和评价供选择的方案供选择的方案明确系统规模明确系统规模和目标和目标重新定义问题重新定义问题研究目前正研究目前正在使用的系统在使用的系统导出新系统的高导出新系统的高层逻辑模型层逻辑模型把上述可行性研究各个步骤的结果写成清晰的文档,请用户和使用部门的负责人仔细审查,以决定是否继续这项工程以及是否接受分析员推荐的方案。6推荐方案推荐方案和行动方针和行动方针7草拟开发计划草拟开发计划8书写文档、书写文档、提交审查提交审查2.5网上宠物商店可行性分析网上宠物商店可行性分析大部分学生对计算机网络、网上开店业务有一定程度的了解,所以,本次任务是运用可行性分析知识就网上宠物商店项目进行可行性分析,编写一份分析报告。下面列出了可行性分析报告提纲1开发网络商店的背景 2宠物店前景3系统模型4高层逻辑模型 5网上宠物商店的定位6解决方案7系统的特色8性能指标9技术可行性10经济可行性11社会可行性12系统开发计划13结论 2.6 任务小结任务小结 可行性研究是项目前期工作的重要步骤。在进行一些较大的工程时,首先都要从技术、经济和社会三个方面进行可行性分析和研究。可行性研究实质上是一次简化、压缩了的需求分析、设计的过程,是在较高层次上以较抽象的方式进行需求分析和设计的过程。可行性分析报告是本阶段的成果。