您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 2 问题定义及可行性研究
SOFTWAREENGINEERING第2章问题定义和可行性研究SOFTWAREENGINEERING§2.1问题定义2.1.1问题定义阶段的主要任务弄清用户需要计算机解决问题根本所在,及项目所需的资源和经费。2.1.2所需时间•当系统要求较少并且不太复杂时,一、两天就可以完成;•当系统要求比较大并且复杂时,要组织一个问题定义小组,花费一、两个星期的时间。SOFTWAREENGINEERING§2.1问题定义2.1.3文档《系统目标和范围说明书》内容:(1)项目名称(2)问题描述(3)项目目标(解决现行系统存在的问题)(4)项目范围(5)可行性研究SOFTWAREENGINEERING§2.1问题定义2.1.4实例某校教材销售系统《系统目标和范围说明书》•项目:教材销售系统•问题:人工发售教材手续烦琐、易出错•项目目标:建立一个高效率、无差错的微机教材销售系统•项目范围:利用现有微型计算机,软件开发费用不超过15000元•初步设想:建议在系统中增加对缺书的统计与采购功能•可行性研究:建议进行大约5天的可行性研究,研究费用不超过1000元SOFTWAREENGINEERING§2.2可行性研究2.2.1可行性研究阶段的主要任务用最小的代价在尽可能短的时间内确定问题是否能够解决。SOFTWAREENGINEERING§2.2可行性研究2.2.2内容:(1)技术可行性(使用现有的技术能实现这个系统吗?)对用户要求的功能、性能以及实现系统的各项约束条件进行分析,看是否能够作成一个可接受的系统。•现行系统调查:基本功能、存在的问题、运行费用、与其他系统的接口。•资源分析:是否能够得到需要的软件、硬件资源;系统开发所需的各类人员(管理人员、专业技术人员);工作环境。•风险分析:在给定约束条件下,判断能否设计并实现系统所需的功能和性能。•技术分析:分析当前的科学技术是否支持系统开发的全过程。SOFTWAREENGINEERING§2.2可行性研究2.2.2内容:(2)经济可行性(这个系统的经济效益能超过它的开发成本吗?)估计开发费用以及新系统可能带来的收益,将两者进行权衡,看结果是否可接受。成本/效益分析(3)操作可行性(系统的操作方式在这个拥护组织内行得通吗?)①软件能否被有效的使用;②开发过程中能否得到用户方的必要支持;③软件使用所带来的影响用户方能否接受。SOFTWAREENGINEERING§2.2可行性研究2.2.3步骤(1)复查系统规模和目标(2)研究目前正在使用的系统(3)导出新系统的高层逻辑模型(4)重新定义问题(5)导出评价供选择的解法(6)推荐行动方针(7)草拟开发计划(8)书写文档提交审查SOFTWAREENGINEERING§2.2可行性研究2.2.4文档《系统开发计划》阅读对象:系统开发的主管部门、软件技术人员和用户内容:(1)引言:编写的目的、背景、引用的参考文献(2)项目概述:工作内容、条件及限制、产品及成果、运行环境、验收标准。(3)实施计划:任务分解;工作进度安排;成本预算;关键问题(资源计划)。(4)人员组织及分工:(5)交付期限:(6)专题计划要点:SOFTWAREENGINEERING§2.2可行性研究资源计划:•人力资源:系统分析员、管理人员、专业技术人员;•硬件资源:–宿主机:在软件开发阶段使用的计算机和有关外部设备;–目标机:指运行所开发软件的计算机和外部设备;–专用软件开发时,所需的特殊硬件设备:如过程控制软件所需的D/A、A/D转换器等专用设备。•软件资源:–支持软件:操作系统、编译程序、数据库、图形包等。–实用软件:可复用的软件部件库。SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划1.引言本项目开发计划是为某校工资管理系统的开发而编写的,主要阐明系统开发过程中人员的组织分配、项目开发进度、开发过程中的关键问题、应交付用户的产品及时间等。SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划2.项目概述2.1工作内容本项目工作主要分为三个阶段:第一阶段为系统分析阶段,主要对项目的可行性及用户需要进行分析,并编写文档;第二阶段为系统设计阶段,包括对软件的总体和详细设计阶段以及程序代码编写;第三阶段为测试阶段,并写出测试分析报告、项目开发总结报告。2.2条件与限制目前本项目开发所需的软件、硬件均已具备,没有其他的条件限制。SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划2.3产品工资管理系统:FOXPRO程序主要功能:•收集数据:将每个职工的水电费数据收集起来。•工资核算:根据扣款及水电费计算出当月应发工资和实发工资。•打印工资:产生工资总表、工资分类表等各种统计报表。SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划2.4运行环境•硬件:486以上微机、LQ-1600打印机各一台•软件:WINDOWS95以上操作系统平台2.5验收标准(1)输入测试计划中所有测试用例,结果符合测试计划的要求。(2)用户对系统界面满意。SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划3.实施计划3.1任务分解阶段工作量/人月软件可行性研究及计划0.25需求分析0.75软件计划2.25编码1测试0.75SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划3.2进度3.3预算•硬件资源:586微机一台,打印机一台。•软件资源:WINDOWS操作系统,VISUALFOXPRO数据库管理系统•成本估算:设备费1.2万元,开发费1万元,共2.2万元3.4关键问题(1)程序员与编程语言的熟练程度。(2)程序员对需求说明书的理解程度。(3)编码阶段程序员工作是否受到干扰。(4)系统分析员文档提交是否及时。SOFTWAREENGINEERING§2.2可行性研究2.2.5实例某校财务处工资管理系统开发计划4.人员组织及分工•系统分析员1名,负责系统分析。•程序员1名,负责程序编写及测试。5.交付期限XX年XX月XX日SOFTWAREENGINEERING§2.2可行性研究2.2.6文档《可行性研究报告》内容:•概述:用户名称、拟建系统名称、开发单位名称•系统目标:近期目标、长期目标•现行系统描述•存在的主要问题•建议的新系统•结论•系统开发计划SOFTWAREENGINEERING§2.2可行性研究2.2.7系统分析员(1)分析员的责任•是用户和管理人员的顾问;•从各个方面收集数据和信息,应作综合解答;•准备文档和管理报告;•负责软件需求规格说明的开发;•参与评审。SOFTWAREENGINEERING§2.2可行性研究2.2.7系统分析员(2)分析员的素质•熟悉计算机技术;•有能力从互相冲突或混淆的原始材料中提取合理部分;•了解有关用户领域知识,知识面广;•有良好的口头、书面表达能力;•有抽象、创造性思维能力,能分清主次,能“有树见林”。SOFTWAREENGINEERING§2.3系统流程图2.3.1定义:•系统流程图是描绘物理系统的传统工具。•基本思想:是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。SOFTWAREENGINEERING§2.3系统流程图2.3.2符号(1)基本符号处理输入/输出数据流SOFTWAREENGINEERING基本符号SOFTWAREENGINEERING§2.3系统流程图(2)系统符号把广义的输入/输出操作具体化为读/写存储在特殊设备上的文件(或数据库),把一般的处理具体化为特定的程序或手工操作等。SOFTWAREENGINEERING系统符号SOFTWAREENGINEERING§2.3系统流程图2.3.3符号使用当以概括的方式抽象的描绘一个物理系统时,仅使用基本符号就够了;当需要更具体的描绘一个物理系统时,还需使用系统符号。SOFTWAREENGINEERING§2.3系统流程图2.3.4实例某装配厂有一放零件的仓库,仓库中现有的各种零件的基本信息及库存量临界值记录在库存清单主文件中。当库存量有变化时,应及时修改库存清单主文件;若库存量小于临界值,报告给采购部门,每天送一次定货报表。该厂使用一台计算机处理更新库存清单主文件和产生定货报表的任务。零件库存量每一次变化称为一个事务,由CRT终端输入计算机;系统重点库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件中,并且把必要的定货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出定货报告。SOFTWAREENGINEERING库存清单系统的系统流程图SOFTWAREENGINEERING作业:画出下述系统的系统流程图考虑一个修改磁带上主文件的系统.文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好.然后系统逐个读入主文件上的记录,根据记录上的校验码校核每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上.最后,系统印出一份修改报告供文件管理员参阅.SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.1定义(DataFlowDiagram)数据流图是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.2组成成分及符号表示(1)外部实体(ExternalEntity)(数据的源点/终点)指系统外又与系统有联系的人或事物。表达该系统数据的外部来源或去处。如:顾客、工人、单位或另一个系统等。SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.2组成成分及符号表示(2)处理(Process)指对数据的逻辑处理功能,也就是对数据的变换功能,任何改变数据的操作都是处理。如:一系列程序、单个程序或程序的一部分。SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.2组成成分及符号表示(3)数据流(DataFlow)指处理功能的输入或输出,是运动中的数据。如:信件、票据等。(4)数据存储(DataStore)是静止状态的数据,表示数据保存的“地方”。这个地方并不是指保存数据的物理地点或物理介质,而是指数据存储的逻辑描述。如:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等。SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.3附加符号*--表示数据流之间是“与”的关系;+--表示数据流之间是“或”的关系;⊕--表示只能从中选一个。(互斥关系)SOFTWAREENGINEERING数据流图的符号SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.4分层数据流图的画法(1)遵循的原则:只须考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体的实现这些功能。SOFTWAREENGINEERING§2.4数据流图(DFD)2.4.4分层数据流图的画法(2)实例一家工厂的采购部每天需要一张定货报表,表中列出所有需要再次定货的零件,报表按零件编号排序。对于每个需要再次定货的零件列出下列数据:零件编号、名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库成为事务,通过放在仓库的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。SOFTWAREENGINEERINGSOFTWAREENGINEERING定货系统的基本系统模型SOFTWAREENGINEERING定货系统的功能级数据流图SOFTWAREENGINEERING把处理事务的功能进一步分解后的数据流图SOFTWAREENGI
本文标题:2 问题定义及可行性研究
链接地址:https://www.777doc.com/doc-608607 .html