可行性研究
可行性研究的目的:
以最低的成本,在最短时间内确定问题是否能被解决以及是否有价值去解决;而在于确定问题是否值得去解决
可行性研究的任务:
- 深入分析并明确问题的实质在于现实与期望之间的差距;
- 对于系统而言, 建立其逻辑模型是必要的;
- 研究多种可能的解决方案, 并将其归类为系统性的方法;
- 评估各种方案的可行性和有效性, 并提出相应的选择意见
从以下方面研究可行性:
技术可行性:对要开发项目的功能需求、性能指标以及可能的技术限制进行分析研究, 以评估基于现有资源条件下的技术可行性和潜在风险, 确定项目是否可行. 这些内容构成技术可行性研究的核心要素. 所涉及的资源包括现有硬件、软件设施, 技术团队的专业水平以及既有的工作底稿等.
2)经济可行性:计算开发成本以及评估预期收益是其核心内容之一;判断所涉及项目的投资价值则是开展此类研究的关键环节;这些要素共同构成了经济可行性研究的基本框架;通常情况下,在评价某个方案是否具合理性时会设定一个基准标准;而这项研究的应用范围非常广泛,在具体实施过程中需综合考虑成本—效益分析、长期公司经营战略、项目的资金投入需求以及潜在市场前景等多个维度
在开展项目时,还需对项目的社会可行性问题进行深入研究,以确定该开发项目是否存在可能侵犯或阻碍项目的法律及伦理等问题。从范围上讲,社会可行性涉及多个方面,不仅包括合同义务和法律责任,还涵盖了潜在的侵权行为以及其他技术人员可能忽视的关键环节
必要时有法律、社会效益等方面
可行性研究的步骤:循环1-4 反复过程、逐步求精 确认新系统的逻辑模型
1. 复查当前系统的规模及目标用户数量
2. 研究现有系统及其组成部分信息:包括功能模块划分、运营成本构成、相关文档资料整理情况以及与其他系统的技术接口设置
3. 构建新系统的核心架构模型
4. 深入明确当前存在的技术挑战与问题核心
5. 分析可能的解决方案及其适用性:包括多种技术方案的选择依据与评估标准
6. 确定具体的实施步骤与技术路线
7. 制定详细的技术开发计划
8. 撰写技术文档并通过审核流程
系统流程图:物理模型
定义:通常用于描述物理系统的常用工具,在绘图时通常遵循自上而下或自左而右的方向进行绘制
基本思想:通过图形符号展示系统的整体结构(包括程序、文档、数据库以及人工过程等各个组成部分)。系统流程图被表示为数据在系统各部分之间流动的情况,并不涉及对这些数据进行加工处理的过程。因此虽然它们在某些符号方面与程序流程图的形式相似但它们并不是同一个概念



数据流图:逻辑模型
数据流图(DFD)是一种视觉化工具,在展示信息流和数据从输入端流向输出端的过程中经过的数据处理或转换过程被清晰描绘出来,并通常被用作分析员与用户之间重要的沟通工具

数据流图元素命名提醒:
1)数据流命名时应注意的问题
1. 名称应当反映整个数据流及其存储的内容;
2. 避免使用过于抽象且无具体意义的名称;
3. 当给某个数据流或存储系统命名遇到困难时, 通常是因为对其结构和组成部分分析不足导致的; 建议尝试重新审视并适当细化其组成部分。
2)为数据处理命名时应注意的问题
1. 一般情况下,在进行系统设计时会遵循以下原则:首先对数据流进行命名操作,并随后对与其紧密相关的部分进行相应的功能定义(层次分明)。
2. 在名称确定方面应当能够准确传达整个流程的作用而不只是其中一部分。
3. 姓名结构最好是由具体的行为明确其作用对象的形式来实现(行为+对象)。
4. 一般而言,在名称设计上应尽量简洁明了地反映出该流程的核心逻辑。如果有必要同时体现两个不同层面的功能,则建议将该过程拆分为多个独立的操作可能更为合适。
5. 当对某个流程进行命名设计时感到困难重重时...可能暗示着需要重新审视并拆解该过程的本质内涵。
数据字典:逻辑模型
定义:数据字典涵盖了关于数据信息的各项内容,并作为对数据流图中的各个组成部分进行说明和规范的集合存在
组成:1.数据流 2.数据流分量(数据元素) 3.数据储存 4.数据处理(IPO图或者PDL)
数据项的别称:该数据项的其他等价名称(然而尽量减少同一数据项的不同名称)
出现别名主要有下述3个原因:
对于相同的数据而言,不同的人采用了不同的名称。
一名分析师在不同时间段对同一份数据采用了不同的名称。
两名分析师各自对同一份数据分析时,采用了不同的名称。
数字字典的用途:
在分析阶段中,数据字典扮演着重要角色。
每个数据元素所附带的控制信息都是具有重要价值的。
在构建数据库的过程中,第一步就是建立数据字典,并且这一步骤的价值不可小觑。
由数据元素组成数据的方式只有下述3种基本类型:
- 顺序:即明确地将多个分量按照确定的顺序排列。
- 选择:即系统能够从给定的选择项中精确地选择一个元素作为输出。
- 重复:即系统能够根据需求将指定的分量进行0到N次的重复操作。
- 可选:即系统允许提供无须附加信息的属性作为可选参数。
其含义相当于(即表示为);
正号+表示两部分结合;
方括弧\[]中的内容用于选择一个可选分量;
花括号{}用于表示重复出现的内容;
圆括号()标记的部分成分具有可选项性。
该程序设计语言规定为:用户说明中的标识符被定义为长度不超过8个字节的字符串类型,并要求其中至少有一个位置必须设置为字母字符;其余位置则允许填充数字或字母两种类型的角色符号。
该标识符的形式可表示为:
标识符 = 字母角色 + 字母数字串
其中:
字母数字串 = 由字母或数字组成不超过7个位置的内容
而具体到单个角色:
字母角色 = 字母表中的一个符号
数字角色 = 数字系统中的一个符号
成本/效益分析的目的在于通过经济视角对开发特定新系统的可行性进行评估,并有助于确保公司高层能够准确判断是否进行该开发项目。
预算估算:软件开发的成本主要体现在员工投入方面(通过将人力消耗乘以平均工资计算出开发费用)
成本估算技术:该技术用于成本估算,在实际应用中主要基于两个维度进行评估。第一个维度是过往案例数据(过往项目的案例库),第二个维度是当前项目的规模参数(如代码行数)。此外该方法还包含一些指标权重计算机制以提高估算精度。该方法的具体实现步骤包括数据收集、指标权重确定以及预测模型构建三个主要环节。
任务分解技术:主要是指将软件功能模块按照项目周期阶段进行划分并分别进行细化设计的过程。在实际操作中我们通常会根据项目周期的不同将任务划分为初始规划设计实施调试测试四个阶段来进行管理与执行

该系统通过相关自动估价技术实现成本预测功能,在充分分析历史数据的基础上,并借助完善的数据库支撑完成对成本指标的动态更新
成本/效益分析的方法:
1.货币的时间价值
2.投资的回收期
3.纯收入
4.投资回收率
