软件立项与合同
可行性分析
1.经济可行性分析(成本、效益、货币的时间价值、投资回收期、纯收入)
2.技术可行性分析(风险分析、资源分析、技术分析)
3.法律可行性分析
软件需求分析
1.需求分析基本概念
主观需求:用户解决问题或达到目标所需的条件或能力(Capability)。
客观需求:系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
需求文档:文档说明。
需求分析分为两个阶段: 需求获取、需求规约
需求分析分为两大类:功能性需求、非功能性需求
常用名词解释
序 号 | 名 词 | 名 词 解 释 |
1 | 基线 | 基线是软件工作产品,它是要经内部和外部评审过的,是下一阶段工作的基础 |
2 | 检查点 | 检查点只是由时间、计划、事件驱动的检查工作进度和质量的一个标记。一个检查点不一定对应一条基线或一个里程碑 |
3 | 里程碑 | 里程碑是一个标记,只需要经过内部评审。一个里程碑是一个检查点,但不一定对应一条基线 |
4 | 评审 | 评审,是对软件工作产品质量的一次开会(或汇签)活动 |
5 | 审计 | 审计,是复查评审活动程序的合法性,是否按程序与规范进行等 |
6 | 客户 | 客户是软件企业合同的签约方,是软件产品的销售对象。客户是顾客的一部分 |
7 | 顾客 | “顾客”比“客户”的范围更广泛一些,它包括潜在的客户 |
8 | 用户 | 用户是软件产品的最终使用者,用户是客户的一部分 |
9 | 软件工作产品 | 在CMMI中,“软件工作产品”是软件开发活动中的人工制品,如《用户需求报告》、《需求分析规格说明书》、《概要设计说明书》、《详细设计说明书》、源程序、《测试报告》、《用户手册》,也包括软件管理文档 |
10 | 软件产品 | 在CMMI中,“软件产品”是最终用户使用的软件,如操作系统Windows XP、财务系统、管理信息系统MIS。“软件产品”是“软件工作产品”的一部分 |
11 | 现有系统 | 现有系统指用户当前正在使用的系统,它可能是网络管理系统,也可能是手工管理系统 |
12 | 目标系统 | 目标系统指将要实现的系统 |
需求分析实际流程
1.面向流程分析
在计算机网络系统内,一切流程都表现为数据流。所以,面向流程分析,实质上是面向数据流程分析,或面向数据分析。
2.找出元数据
元数据是组织数据的数据。通俗地讲,元数据就是信息系统中实体名及其属性名的集合,或者说就是基表的表名与字段名的集合。由此可见,所谓实体,就是一组相关元数据的集合。
3.找出中间数据
中间数据是组织统计数据的数据,描述统计数据的数据,关于统计数据的数据。
eg. “部门名称,员工人数,男性人数,本科以上人数,30岁以下人数,…”,这些名词称为中间数据,而“市场部,25,16,21,23”,这些数据称为统计数据。
4.找出元数据与中间数据之间的关系
元数据对应原始单据,中间数据对应查询、统计、报表。元数据将原始单据中录入的数据组织起来变成基表中的记录,这些记录称为基础数据。中间数据将统计报表中输出的数据组织起来变成中间表中的记录,这些记录称为统计数据。 中间表中的记录是由基表中的记录派生出来的,为了简单起见,我们说“中间数据是由元数据派生出来的”,这种派生就是算法分析。
5.找出单据中的流程
6. 三种需求分析方法
需求分析方法名称 | 目 的 | 点 评 | 适 用 范 围 |
面向功能 需求分析 | 为了获得功能模型 | 简单明了 | 系统软件和应用软件 |
面向对象 需求分析 | 为了获得对象模型 | 复杂抽象 | 系统软件和应用软件 |
面向数据 需求分析 | 为了获得数据模型 | 抓住本质 | 以关系数据库为平台的信息系统 |
需求描述工具
工具 : 用例图、数据流图、状态模型图、用户交互图、对象模型图、实体关系图(E-R图),以及功能需求列表、性能需求列表、接口需求列表、界面需求列表等。
面向过程的方法,一般采用数据流图、加工说明、数据字典来描述需求;
面向元数据的方法,一般采用实体关系图来描述需求;
面向对象的方法,一般采用UML语言来描述需求;
对于实时系统,它对数据流图和状态模型图的要求高;
对管理信息系统,它对实体关系图的要求高;
对于Windows图形界面下的网站开发与网络游戏制作,它对UML语言中的有关图形要求高。
实体关系图又叫E--R图或实体--联系模型,它是在调查分析用户的需求之后,把用户对数据的需求用实体联系模型表达出来,明确描述应用系统的概念结构数据模型。构造E-R模型,要分析与确定应用系统中的实体集、实体之间的联系及实体或联系的属性等要素。
实体--联系模型既是表达用户需求的工具,又是数据库概念设计的工具。在需求分析中,它叫做实体--联系模型,在数据库设计中,它叫做概念数据模型CDM。 实体--联系模型的每个实体、每个属性、每个关系、每个操作方法,都要用数据字典详尽定义。
面向过程分析也称结构化分析,结构化分析采用“自顶向下,由外到内,逐层分解”的分析思想,即将一个复杂的系统逐层分解成许多简单的基本加工,当信息“流”过系统时,被系统进行加工变换。
数据流图DFD(Data Flow Diagram),以用表示数据的流向及对数据的加工处理;数据字典DD(Data Dictionary),用以定义DFD图中的各种条目,如信息源、信息潭、加工、文件、数据流连线。
UML教程
参与者、用例
参与者A可以去做参与者B,那么参与者A和参与者B之间存在泛化关系
包含、扩展