博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件系统设计思路
阅读量:6124 次
发布时间:2019-06-21

本文共 768 字,大约阅读时间需要 2 分钟。

软件系统设计思路

    最近有学弟问我,拿到一个软件需求,但是却不知道怎么才能更好地架构好整个系统,在此,我简单地根据我的经验介绍一下我是怎么设计一个软件系统的吧。当然,这只是我的一个简单的思路而已,真正涉及到一个大的软件项目,可能还要复杂很多很多。

    要设计一个面向对象的系统,建议遵循如下思路:  

1.  调研,完成一份详细的需求文档

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

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

   (3)哪些是技术难点,可以的话对技术难点首先测试攻关

2.  确定系统的运行环境

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

   (2)使用何种编程语言:c/c++,java,C# 等

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

   (4) 需要使用哪些第三方库:如 openCV,STL,Boost等

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

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

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

   (3)模块之间怎么交互

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

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

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

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

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

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

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

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

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

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

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

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

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

转载地址:http://kdgka.baihongyu.com/

你可能感兴趣的文章
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
【BZOJ】1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路(floyd)
查看>>
cmake总结
查看>>
数据加密插件
查看>>
linux后台运行程序
查看>>
win7 vs2012/2013 编译boost 1.55
查看>>
IIS7如何显示详细错误信息
查看>>
C++文件读写详解(ofstream,ifstream,fstream)
查看>>
Android打包常见错误之Export aborted because fatal lint errors were found
查看>>
Tar打包、压缩与解压缩到指定目录的方法
查看>>
新手如何学习 jQuery?
查看>>
配置spring上下文
查看>>
Python异步IO --- 轻松管理10k+并发连接
查看>>
mysql-python模块编译问题解决
查看>>