软件概要设计做什么,怎么做

编程技术  /  houtizong 发布于 3年前   74

作者:赵磊

博客:http://elf8848.iteye.com

 

软件概要设计做什么,怎么做


一、软件设计一般流程:
1、先前的软件需求分析阶段,已经搞清楚了 “要解决什么问题”,并输出了《软件需要说明书》。这时一切都是理想。
2、现在进入概要设计阶段,重点说清楚“总体实现方案”,确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系。有一些研究与论证性的内容。并输出《软件概要设计说明书》。这时一切都是概念。
3、最后进入详细设计阶段,重点说清楚“每个模块怎么做”,是“程序”的蓝图,确定每个模块采用的算法、数据结构、接口的实现、属性、参数。并输出《软件详细设计说明书》。这时一切都是实现。


二、《概要设计说明书》的一般结构:
   1、总述:需求或目标(讲一下事情的起源)、环境、局限;
           ----主要交代背景与大环境。(非重点)
   2、总体设计:从全局的角度说一下 总体结构、功能、处理流程、有哪些模块、模块间的关系;
           ----使读者有“全局”观,为下一步深入各个模块做好准备。
   3、外部接口:总体说明外部用户、软、硬件接口(可用资源);(这个接口不是java的interface) 。
           ----使读者了解可以利用的外部资源。
   4、模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块或系统的接口),处在什么逻辑位置、物理位置; (重点)
   5、数据结构:逻辑结构、物理结构(存储在数据表中,还是缓存中); 
   6、容灾设计:出错信息、出错处理; (可选)
   7、监控设计:运行模块组合、控制、时间;(可选)
   8、用户界面设计:(可选)
   9、安全设计:(可选)
   10、其它设计:(可选)
   11、制定规范(附录): 设计原则,代码规范、接口规约、命名规则。--是小组协同开发的基础

三、模块设计是重点,多说几句:

   可以写以下内容:
   1、模块描述:说明哪些模块实现了哪些功能;
   2、模块层次结构:可以使用某个视角的软件框架图来表达;
   3、模块间的关系:模块间依赖关系的描述,通信机制描述;
   4、模块的核心接口:说明模块传递的信息、信息的结构;
   5、处理方式设计:说一些满足功能和性能的算法;


四、怎么使用概要设计:
   1、用来评价总体设计的可行性。
   2、用来检查设计的模块是否完整,保证每一个功能都有对应的模块来实现。
   3、用来评估开发工作量、指导开发计划(在不写详细设计的情况下)。


五、最后提醒:
   1、概要设计阶段过于重视业务流程是个误区.
   2、概要设计阶段过于重视细节实现是个误区.

 

转载请注明出自:http://elf8848.iteye.com/

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客