用最小的代价在尽可能短的时间内研究并确定所面临的问题是否能够解决。不是解决问题,而是确定问题是否值得去解决。
系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。
系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程,因此尽管系统流程图使用的某些符号和程序流程图中用的符号相同,但是它却是物理数据流图而不是程序流程图。
1)代码行技术:每行代码的平均成本X源代码行数
2)任务分解技术:人力X工资
软件需求具有模糊性、不确定性、变化性和主观性 的特点,
软件项目中40%至60%的问题都是在需求分析阶段埋下的“祸根需求文档作为客户和开发人员、开发人员之间进行交互的文档,它将系统的需求进行了“固化”,是需求的载体,其作用是至关重要的。
回答:“系统应该做什么(what)”。
1、对收集的需求进行分析、建模
2、撰写文档—需求规格说明书
完成业务需求,用户需求,功能需求和非功能需求
实体转换图作为数据建模的基础,描述数据对象及其关系;
实体: 矩形
联系(三种类型): 菱形
属性(实体的的性质): 圆角方形
状态转换图:作为行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。
与所开发的系统相关的所有数据的有组织的列表,并且包含了对这些数据的精确、严格的定义;目的是使用户和系统分析员双方对目标系统输入、输出、存储的数据以及中间计算结果有共同的理解。
描述对象:
数据流
数据存储
数据流和数据存储中的数据项
数据流图(Data Flow Diagram,DFD):作为功能建模的基础,描述数据怎样流动以及转换的功能;
设计数据流图时,只需考虑系统必须完成的基本逻辑功能,而不需要考虑实现这些功能的具体方法,所以它将成为下一步软件设计的出发点;
可以分层次地画数据流图,高层数据流图描绘系统的整体概貌,低层数据流图表现信息流和功能的细节;
绘制数据流图!!!–见重点汇总例题