软件设计简单步骤

参考:http://ticktick.blog.51cto.com/823160/697996

1.   做好需求调研和分析

在做好需求调研和分析以后, 要整理成一个详细的需求文档,最好还有数据库设计文档,先把这俩个文档确定以后才能开始进行系统设计.在此期间要弄清几个问题:

   (1)系统要实现什么样的功能

   (2)性能上有什么特别的要求

   (3)哪些是技术难点,最好对技术难点首先测试攻关

2.  确定系统的运行环境

   (1)系统运行的操作系统:widows,linux,unix等

   (2)使用何种编程语言和需要用到的脚本语言:c/c++,java,C# ,python,ruby等

   (3)使用何种界面交互环境:console,MFC,WTL等等

   (4)需要使用哪些第三方库和版本控制工具:如 openCV,STL,Boost,GIT,SVN等

   ( 5 ) 确定系统的架构属性: B/S, C/S 

3.  划分系统模块,设计总体框图

   (1)整个系统从大的方向来划分的话,可以分为哪几个模块,每个模块又可以继续划分为哪几个小模块。

    最好能列出树形清单并进行讨论

   (2)每个模块的提供的功能是什么

   (3)模块之间是否需要交互,怎么交互

    ( 4 ) 画出系统的UML图,包括流程图,时序图

4.  分析模块的需求,抽象出实现模块功能的各个类

   (1)本模块可以设计哪些类,哪些类是作为本模块对外的接口?

   (2)模块内部的类之间怎么交互?模块间的类之间怎么交互?

   (3)类的设计时,需要考虑是否可以通过继承、组合等方式简化设计

   (4)画出简单的UML设计图

   ( 5 ) 确定需要用到哪些工具类,事先准备好

5.   设计每个类的属性和方法

    (1)每个类有哪些成员变量?提供哪些功能函数?

    (2)哪些功能通过继承获取,哪些功能需要用到重载,哪些功能需要利用多态?     

    (3)完成类的头文件的定义

6.   实现每个类的功能及集成测试

    (1) 编码实现每个类的功能

    (2) 根据前面的设计,完成类之间的交互代码,实现系统所需要的功能

    (3) 集成和测试,优化代码,修改bug

如果是针对J2EE项目的话,我觉得以下几点也是需要做到的:

1. 确定项目的整体结构,比如 MVC 或者其他

2. 确定团队的开发和测试工具和使用的具体版本. JDK,ECLIPSE等

3. 根据项目需要和团队的现有知识来确定使用哪些框架,SSH,IBATIS,JPA.

4. 根据项目数据量大小和并发安全性来选择数据库,并确定版本号.

5. 根据用户访问量和安全性考虑来选择WEB SERVER, TOMCAT,APACHE,WEBLOGIC等.

相关推荐