zoukankan      html  css  js  c++  java
  • 软件概要设计做什么,怎么做

    一、软件设计一般流程: 
    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/ 

  • 相关阅读:
    Study Plan The Twelfth Day
    Study Plan The Fifteenth Day
    Study Plan The Seventeenth Day
    Study Plan The Tenth Day
    Study Plan The Eighth Day
    Study Plan The Eleventh Day
    Study Plan The Sixteenth Day
    Study Plan The Thirteenth Day
    Study Plan The Fourteenth Day
    Study Plan The Ninth Day
  • 原文地址:https://www.cnblogs.com/huazhen/p/3821993.html
Copyright © 2011-2022 走看看