1 可行性分析的内容和任务分别有哪些?
任务:弄清楚用户要求计算机解决什么问题、涉及范围、所需费用和资源。在向用户调查的基础上,编写可行性报告说明书(系统目标、可行性分析、项目规约),作为下一步工作可行性分析的依据。用最小的代价在尽可能短的时间内确定问题是否能够解决:技术可行性,经济可行性,操作可行性。
内容:
- 概述,包含背景以及用途
- 主要功能概述
- 对现有系统的分析
- 研发系统论述
- 可行性研究(技术、操作、法律等)
- 市场需求情况和风险分析
- 投资估算
- 经济和社会效益分析
- 项目实施进度计划
- 结论
- 参考资料
2 试枚举一些可能触犯法律法规的开发内容
- 可以用来进行押注赌博的平台或者app
- 爬取用户信息的软件
- 抢票软件
- 换头软件
3 系统流程图描述什么内容
系统流程图是用来描述系统物理模型的一种传统工具。
4 什么是数据流图,包含的要素有哪些
定义:
数据流图是描述逻辑模型的图形工具,图中没有具体的物理元素。描述数据在系统中的流动和处理的情况,表示数据在系统内的变化。
包含要素:数据源点和终点,加工,文件,数据流
5 如何画数据流图
1.由外向内画数据流图
- 画系统的输入输出
- 画系统的内部
- 画加工的内部
2.分层数据流图(从抽象到具体的逐步过渡,逐步增加细节)
- 顶层图说明系统的边界,即系统的输入输出数据流,顶层图只有一张(顶层数据流图反映了系统的输入输出,即反映了系统与外界环境的关系或接口。)
- 底层由不必再分解的加工组成,称为基本加工。
- 中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步被分解
由顶向下画分层数据流图
- 编号:子图的编号就是父图中相应加工的编号,由图号,小数点,局部号连接而成。
- 父图和子图的平衡:父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同。
- 局部文件:只画出加工间交界面的文件,加工内部的文件不必画出。
- 分解的程度:分解应自然,概念上合理,清晰;上层可以分解的快些,而在下层应分解的慢一些。
3.数据流图的改进
- 检查数据流图的正确性:数据守恒;文件的使用;父图和子图的平衡;
- 提高数据流图的易理解性:简化加工间的联系;注意分解的均匀;适当的命名;
- 重新分解:把需要重新分解的某张图的所有子图合并;重新分成几部分,使得各部分之间的联系最少;重新建立父图和各张子图;为所有加工重新命名和编号;
6 画数据流图的注意点
1.画数据流图注意点
- 适当的命名:反映全体的情况;避免空洞的名字
- 画数据流而不是控制流
- 先考虑稳定状态
- 忽略枝节
- 随时准备重画
2.画分层数据流图的注意点:
- 父图和子图的输入输出数据流要平衡;
- 只画出加工间交界面的文件,加工内部的文件不必画出;
- 要了解某个加工内部的细节,可以阅读与这个加工的编号相同的那张图;
- 一个加工一般最多分解成7个子加工;
- 当每个加工都已足够简单时,分解就可结束;
7 数据字典包含哪些内容
定义:数据字典是数据流图中包含的所有元素的定义的集合。
内容:数据流图中包含的所有元素的定义。
8 什么是人月,人月是什么的单位。“人月”与“人时”的换算关系;
人月是工作量的计量单位,是项目所有参与者工作时长的累计,是最为方便计算成本的数据。是项目管理中常用的概念。
如一个项目前期投入3个人工作2个月,中间2人工作0.5月,后期1人(0.33兼职)工作3个月,那么工作量的计算就是:3人2月+2人0.5月+0.33*3月=8人月。
1人月 = 22天*8人时 = 176人时
注解:通常一天的工作时间为8h,一个月算22天。
9 什么是人月神话?
《人月神话》是由清华大学出版社于2002年11月出版的一本关于计算机软件的图书,作者是布鲁克斯。
"人月神话"的字面意思就是人是程序员,月是时间,如果一个人干10个月等同10个人干一个月,那就成神话。
因为软件项目是交互关系复杂的工作,需要大量的沟通成本,人力的增加会使沟通成本急剧上升,反而无法达到缩短工期的目的。
在本质上,软件项目的人力与工期是无法互换的,当项目进度落后时,光靠增加人力到该项目中,并不会加快进度,反而有可能使进度更加延后。
10 LOC是什么的含义,是什么的单位?
代码行(Line of Code),是软件规模的一种量度单位。
11 估算开发项目的开发时间的LOC方法(步骤)是什么?
1.确定功能;
2.算出各个功能代码行数的平均值(a+4m+b)/6;
a—软件可能的最低规模
m—软件最可能的规模
b—软件可能的最高规模
3.确定各个子功能的行成本(元/行)和生产率(行/人月);
4.计算各个子功能的成本(行*行成本)和人力(行/生产率);
5.计算该项目的总代码行数,总成本和总工作量。
12 如何计算软件开发的生产效率(计算公式)?
开发效率可以用人月完成的代码行数或功能点数来度量。
软件开发的生产效率=规模/工作量。
规模度量可以选择页数、代码行、用例数(测试)
工作量度量用人时
但越是强调开发效率,代码质量就会越低。
13 项目成本包含哪些内容?
基于计算机系统的成本由四部分组成:
- 系统开发费用
- 购置软、硬件及有关设备费用
- 系统安装和维护费用
- 人员培训费用
14 补充
系统流程图符号
数据流图说明
4种基本符号
数据源点或终点(正方形)
加工(圆)
文件(直线)
数据流(箭头)
分层的数据流图
- DFD(Data Flow Diagram)可以分层表示信息流和功能的细节,既提供了功能建模的机制,又提供了信息流建模的机制。
- 第0层的DFD也被称为基本系统模型或语境模型。
- DFD没有提供显式的处理顺序,过程或顺序式隐含在DFD中的,显式的推迟到系统设计时。
- 不要混淆DFD和程序流程图!
数据字典
- 用途:作为分析阶段的工具。
- 字典与数据流图的联系:数据字典定义数据流图中出现的所有的名字。
- 数据流图中出现的每一个数据流名,每一个文件名和每一个加工名
在字典中都应有一个条目给出这个名字的定义。 - 数据流图的每一个组成部分在字典中也应有一个条目给出它们的定
义。
- 数据流图中出现的每一个数据流名,每一个文件名和每一个加工名
- 字典条目的各种类型
- 数据流
- 数据存储/文件
- 数据项(指不再分解的数据单位)
- 处理/加工(→小说明)
- 定义数据的方法
- 顺序
- 选择
- 重复
- 可选