系列索引: 《软件工程与实践》第三版 软件工程课程知识梳理
目录
本章重难点:
● 了解软件开发初步需求、调研与问题定义内容
● 理解可行性分析的概念、任务、步骤与立项
● 掌握可行性分析的图形工具系统流程图画法
● 理解软件开发计划的内容和制定方法
● 掌握编写《软件可行性分析报告》的方法
2.1 软件问题的调研和定义
2.1.1 开发问题的初步调研
初步调研澄清确定的问题包括:拟研发软件相关对象及范围、原因、背景、问题、目标、行业属性、社会环境、应用基础、技术条件、时限要求、投资能力等
确定调研的范围
调研的主要对象是现行系统及相关业务部门,需要深入业务数据处理现场实地观察、收集与阅读相关资料,并以发放问卷调查表、座谈会或交谈等调研方式,对原系统的数据处理过程进行分析、归纳、整理、描述,以获取拟研发新软件涉及的各种具体需求。
调研策略及原则
2.1.2 软件问题定义的概念
软件问题定义是指在对拟研发软件进行可行性分析和立项之前,对有关的主要需求问题进行初步调研、确认和描述的过程。
主要包括:提出问题、初步调研、定义问题、完成“问题定义报告”等。
2.1.3 软件问题定义的内容。
1.确定软件或项目名称
2. 软件项目提出的背景
软件项目提出的背景和具体现状及发展趋势
3. 软件目标及任务
软件目标和任务是指软件项目所要达到的最终目的指标和具体结果,从不同角度,主要有以下三种分法:
(1)按时间划分,可分为长期目标、中期目标和短期目标。
(2)按目标的综合度,可分为总体目标和分项目标。
(3)按性质划分,可分为效能及可靠性目标、功能目标和性能目标。
4. 软件类型及性质
5. 软件服务范围
软件的服务范围主要是指确定软件所应用(服务)的行业及领域的界限,软件服务领域用户对象及应用范畴
6. 基本需求
基本需求用于明确软件问题定义的主要内容,包括整体需求、功能需求、性能需求和时限要求等。
7.软件环境
软件环境包括服务领域、运行环境和外部系统等方面。
8.主要技术
开发软件所需要的主要技术,以及关键技术路线。
9.基础条件
软件开发的基础条件包括:软件的业务基础、技术基础和支撑基础等。
对问题定义的结果应该形成“问题定义报告”
2.2 可行性分析及过程
2.2.1 可行性分析的概念及意义
可行性分析的概念和特点
可行性分析也称可行性研究,是对拟研发软件项目(或称为申报的“拟研发立项问题”)分析论证可行性和必要性的过程。
可行性分析特点: 预见性、公正性、可靠性、科学性等。
可行性分析的意义
行性分析工作是软件项目开发前非常重要的一个关键环节,决定整个软件项目的开发成败,具有非常重要的经济意义和现实意义。
可行性分析的目的及结论
可行性分析目的是围绕影响软件项目研发的各种因素的可行性进行全面、系统的分析论证。
2.2.2 可行性分析的任务及内容
可行性分析主要任务主要是: 决定软件项目“做还是不做(是否可行)”、及完成对可行项目的“初步方案”。可行性分析的成本只占预期工程成本的5%-8%
可行性分析包括5个方面:技术可行性分析、经济可行性分析、社会可行性分析、开发方案可行性分析和运行可行性分析等。最主要的工作是前3项。
1. 技术可行性分析
技术可行性(Technical Feasibility)是可行性分析中 最关键和最难决断的问题
技术可行性分析的内容包括:现对新软件功能的具体指标、运行环境及条件、响应时间、存储速度及容量、安全性和可靠性等要求;对网络通信功能的要求等;确定在现有资源条件下,技术风险及项目能否实等。
2. 经济可行性分析
经济可行性分析(Economic Feasibility)也称成本效益分析或投资/效益分析,主要从资源配置的角度衡量软件项目的实际价值,分析研发软件项目所需成本费用和项目开发成功后所带来的经济效益。
分析软件的经济可行性,实际就是分析软件项目的有效价值。
经济可行性分析主要任务包括两方面:一方面是市场经济及竞争实力及投资分析;另一方面是新软件开发成功后所带来的经济效益分析与预测。
估计每个任务的成本时,通常先估计完成该项任务需要用的人力费用,以“人·月”为单位
投入产出分析
3.社会可行性分析
在软件开发过程中可能涉及到各种合同、侵权、责任以及与法律法规相抵触的各种问题、双方有关规章制度责任等问题,软件的应用操作方式是否可行,是否违背现有的管理制度,对研发人员素质要求等。
4.运行可行性分析
5. 开发方案可行性分析
注意:可行性分析最根本的任务是对以后研发技术路线提出建议,对于不可行的开发方案,应建议重审或暂停,对可行的方案,提出修改完善建议并制定一个初步计划 。
2.2.3 可行性分析的过程
2.3 项目立项、合同和任务书
2.3.1 软件立项方法及文档
软件项目立项方法概述
软件项目来源的两个基本途径,通常是确定软件项目立项和合同。
软件项目的立项文档是“立项申报表(建议书)”
2.3.2 软件项目签订合同和文档
一般合同的文档有两份,一份是主文件,即合同正文。另一份是合同附件,即技术性的文件,其格式和内容与“立项申报表(建议书)”的主体部分基本相同,且具有同等效力。
2.3.3 任务下达的方式及文档
通常下达任务的方式及文档为:
(1) “任务书”的正文。主要包括任务下达的对象、内容、要求、完成日期、决定投入的资源、任命项目经理(技术经理和产品经理)、其他保障及奖惩措施等。
(2) “任务书”的附件。一般为软件“合同”或“立项申报表(建议书)”,如果是指令性计划,它的格式和内容,也应与“合同”或“立项申报表(建议书)”基本相同。
2.4 系统流程图及应用
2.4.1系统流程图主要用途
2.4.2 系统流程图画法及符号
是用图形符号描绘系统中的各部件(程序、文件、数据库、表格、人工过程等)的业务处理及数据流向,而并非是对数据处理的控制过程及细节,通常至上而下、分层进行,同层从左到右边顺序画出。
系统流程图的基本符号
例:
2.5 软件开发计划及方案
2.5.1软件开发计划的目的及分类
软件开发计划也称软件项目计划(Software Project Planning)是指在正式进行软件开发之前,制定的具体指导软件开发的实施计划,是指导软件开发工作的纲领。
软件开发计划制定的依据是问题定义报告。
2.5.2 软件开发计划的内容及制定
软件开发计划主要内容
项目开发计划是一个管理性文档,主要内容包括:
(1)项目概述。 (2)实施计划。 (3)人员组织及分工。 (4)交付产品。 (5)其他内容。
项目开发计划的制定
主要着重考虑事项:
1)软件项目主要问题
2)软件开发的主要问题
3)工作阶段及任务
4)主要资源需求
(1)人力资源 (2)环境资源
5)进度计划的制定
软件项目计划是一个软件项目进入系统实施的启动阶段
软件项目计划包括两个方面:研究确定和估算。即通过研究确定该软件项目的主要功能、性能和系统界面,估算相关费用和进度。
评论记录:
回复评论: