`

软件设计简单步骤

阅读更多

参考: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等.

 

分享到:
评论

相关推荐

    热门软件protel99se原理图设计步骤

     最后的步骤是文件保存及打印输出。 原理图的设计流程图如下图1-1所示。 图1-1原理图设计流程 2.2 新建一个设计库  (1)启动Protel 99 se,出现以下启动界面,如图1-2所示。 图1-2 启动界面  启动后...

    软件工程卷3:领域、需求与软件设计

    ... ◆ 《软件工程卷3:领域、需求与软件设计》介绍了整体软件开发的基本原理和技巧:从领域描述,经过需求分析,直到软件设计。本卷倡导一种全新的软件工程开发模式:在需求被形式化之前,人们必须理解应用领域...

    浅谈软件安全设计(一)

    浅谈软件安全设计(一) code by 黑夜彩虹 & vxin with almost pure delphi 网站:http://soft.eastrise.net 2007-03-07 --- 转载时请保留作者信息。 **************************************...

    Xilinx公司ISE10.1软件及简单设计流程介绍

    Xilinx公司ISE10.1软件及简单设计流程介绍

    软件设计-C--程序设计实验2-c--简单程序设计.doc

    实验二 C++简单应用程序(4 学时) 1、实验目的和要求: (1)学会简单使用编程工具提供的调试工具... 3、实验步骤或环节: (1) 选择某种熟悉的开发环境(例如Codeblocks 、Visual Studio 、Eclipse IDE for C/C++ D

    编译原理课程设计简单优先文法判定和分析器的构造

    2.1.4 简单优先分析法的操作步骤 6 2.2 需要完成的功能 7 2.2.1 判定输入的文法是否是简单优先文法 7 2.2.2 构造文法的简单优先关系矩阵 7 2.3 分析器的构造 7 第三章 逻辑设计 9 3.1系统的组织与基本工作流程 9 3.2...

    加强计算机软件设计可维护性的措施探究.docx

    2 影响软件设计中可维护性的因素 在对软件进行设计的时候,软件的可维护性可以简单的看做,某个投入应用的软件,依据现实需要应该做一些相应的修改及升级。当然不可以随便的更改,必须要对整个软件进行相应的了解,...

    计算机控制系统第十章-计算机控制系统设计原则与步骤.pptx

    第十章 计算机控制系统设计原则与步骤 第一节 计算机控制系统设计原则 第二节 计算机控制系统设计步骤 第三节 计算机控制系统的工程设计与实现 四、控制系统的调试与运行 计算机控制系统第十章-计算机控制系统...

    信息系统软件设计实验报告及源码

    题目三,音/视频加密传输软件:完成音/视频(二选一)的采集、简单的加密或加水印、传输、解密或提取水印、存储(必须基于数据库),要求基于文献复现至少一种音/视频水印或加密技术,并集成到软件中,设计报告中...

    软件开发设计有关文档

    1引言 1.1编写目的 说明编写这份详细设计说明书的目的...说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。 4程序2(标识符)设计说明 用类似F.3的方式,说明第2个程序乃至第N个程序的设计考虑。

    设计数据库的步骤.doc

    设计数据库的步骤 收集信息 创建数据库之前,无比充分了解数据库需要完成的任务和功能。简单地说,我们需要了 解数据库需要存储哪些信息(数据),实现哪些功能。以《使用SQL Server 管理和查询数据》的BBS论坛系统...

    ASP.NET项目实训:“新闻发布系统”数据库设计.ppt

    系统设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤,同时,系统设计又是将用户需求准确地转化为最终的软件产品的唯一途径。而且系统设计是后续开发步骤及软件维护工作的基础。如果没有...

    软件测试用例设计文档参考资料

    测试用例设计概述 好测试用例的特点 1.完整的 完整性是对测试用例最基本的要求,尤其是一些基本功能项上, 如有遗漏,那是不可原谅的。...应太简单,也不能太过复杂,最大操作步骤最好控制在15 步之内。

    简要介绍dreamweaver设计网页的一些基本操作,简单的操作和解释

    简要介绍dreamweaver设计网页的一些基本操作,简单的操作和解释,附有解释和说明

    Intel全国大学生软件开发大赛全国一等奖作品--财富2011

    软件友好的用户界面,方便快捷的操作步骤使得理财变得轻松简单。除此之外,强大的用户加密系统确保用户的个人信息绝对安全。同时,软件采用了领域驱动架构和智能客户端的设计思想,使得用户可以方便的进行软件的更新...

    数字信号处理课程设计 倒频系统的实现

    数字信号处理课程设计录制一段语音信号,通过倒频系统将信号的高频和低频进行交换,即将信号的高频部分搬到低频段,而将低频部分搬到高频段。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分...

    设计模式之创建型模式实验.docx

    ①使用简单工厂模式设计一个可以创建不同几何形状( Shape)(例如圆形( Circle).、矩形 Rectangle)和三角形( ( Triangle)等的绘图工具类,每个几何图形均具有绘制方法daw()和擦除方法 erase(),要求在绘制不支持的几何...

    基于微程序控制器的简单计算机系统设计与实现.doc

    " " " " " 目 录 1 课程设计概述 3 1.1 课设目的 3 1.2 设计任务 3 1.3 设计要求 3 2 实验原理与环境 4 2.1 实验原理 4 2.2 实验环境 4 3 总体方案设计 5 3.1 需求分析 5 3.2 硬件设计 5 3.3 软件设计 8 4 详细设计...

    pycharm+python环境配置步骤+简单UI界面代码.zip

    人脸识别签到系统开发,pycharm+Python环境搭建这些步骤讲解,最后还有使用Qt设计的简单UI界面的代码

    简单编译器 编译技术课程设计源代码及文档

    主要步骤 (1)画出识别上述语言单词的状态转换图 (2)用C/C++语言编写词法分析程序(应考虑能被语法分析程序调用) (3)预处理,去除注释、多余空格、回车换行符等 (3)设计实现语法分析程序(调用上述词法程序分析单词) ...

Global site tag (gtag.js) - Google Analytics