软件设计流程
1.问题定义阶段
2.可行性研究阶段
3.需求分析:解决软件"做什么"的问题
功能需求
性能需求
用户和人的因素
环境需求
界面需求
文档需求
数据需求
资源需求
安全保密需求
可靠性需求
软件成本消耗和开发进度需求
其他非功能性需求
UML:用例图、状态图、时序图:
4.系统设计
(1)概要设计
-设计软件系统总体结构
设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等
-数据结构设计和数据库设计
设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。
概念模型/逻辑设计/物理设计,使用E-R图表示
输出:概要设计说明书、数据库设计说明书、用户手册、测试计划等
软件概要设计说明书:说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。
UML:用例图、流程图
(2)详解设计
对每个模块进行详细的算法设计
对模块内的数据结构进行设计
对数据库进行物理设计
输出:详细设计说明书
UML:类图、时序图、状态图、活动图。
5.编码
6.测试
7.交付
8.维护
关于UML,个人使用的是starUML工具。可以不破解,也可以简单破解进行使用
常用的UML图定义:
用例图:是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。是系统的蓝图。
流程图:以特定的图形符号加上说明,表示算法的图,称为流程图或框图。
类图:(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。
时序图:(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
状态图:状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。
活动图:活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。