软件系统设计思路

软件系统设计思路

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

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

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

转载于:https://www.cnblogs.com/skyofbitbit/archive/2012/09/09/2677480.html

第一章 软件工程基本观念 1.1 软件工程的目标与常用模型 1.2 软件开发的基本策略 1.2.1 复用 1.2.2 分而治之 1.2.3 优化——折衷 1.3 一些不正确的观念 1.4 一些有争议的观念 1.5 小结 第二章 程序员与程序经理 2.1 了解程序员 2.2 了解程序经理 2.3 程序员升为经理后是否还要编程 2.4 经理与技术队伍的建设 2.5 向错误与失败学习 2.6 提高综合素责 2.7 小结 第三章 项目计划与质量管理 3.1 项目计划 3.1.1 知己知彼 3.1.2 进度安排 3.2 零缺陷质量管理的观念 3.2.1 高目标 3.2.2 可执行的规范 3.3 软件的质量因素 3.3.1 正确性与精确性 3.3.2 性能与效率 3.3.3 易用性 3.3.4 可理解性与简洁性 3.3.5 可复用性与可扩充性 3.4 质量检查 3.5 小结 第四章 可行性分析与需求分析 4.1可行性分析的要素 4.1.1 经济 一、成本——收益分析 二、短期——长远利益分析 4.1.2 技术 4.1.3 社会环境 4.1.4 人 4.2 可行性分析案例——投资软件公司失败的教训 4.2.1可行性分析案例之一 4.2.2 可行性分析案例之二 4.2.2 可行性分析案例之三 4.3 需求分析为什么困难 4.3.1 客户说不清楚需求 4.3.2 需求自身经常变动 4.3.3 分析人员或客户理解有误 4.4 如何进行需求分析 4.4.1 应该了解什么 4.4.2 通过什么方式去了解 4.5 小结 第五章 系统设计 5.1 体系结构设计 5.1.1 层次结构 一、上下级关系的层次结构 二、顺序相邻关系的层次结构 三、其它的层次结构 5.1.2 Client/Server结构 5.2 模块设计 5.2.1 信息隐藏 5.2.2 内聚与耦合 5.2.3 封闭——开放性 5.3 数据结构与算法设计 5.4 用户界面设计 5.4.1 界面设计中美的需求与导向作用 5.4.2 界面美的内涵 一、界面的合适性 二、界面的风格 三、界面的广义美 5.5 系统设计示例——支持协同工作的交互式三维图形软件开发系统 5.5.1 设计背景 5.5.2 通用交互式三维图形软件开发工具 Intra3D 2.0 5.5.2.1 主要模块和功能 5.5.2.2 用户界面设计 5.5.3 支持协同工作的网络通讯开发系统 CNC 1.0 5.5.3.1 CNC 客户程序的API设计 5.5.3.2 CNC Server的设计 5.5.4 应用示例 5.6 小结
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值