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/

  • 相关阅读:
    创建一个对象,包含有多个成绩,每个属性是一个成绩,遍历对象中的属性,计算出总成绩。
    创建一个计算器的函数calc含有两个数字,调用函数的函数传递一个函数,分别是实现加减乘除
    JS中的对象
    python+jieba+tfidf算法 文本相似度
    ubuntu hadoop2.x 伪分布部署及集群搭建(完全分布式)
    ubuntu16.04 +Java8+ hadoop2.x单机安装
    python pandas库的一些使用总结
    scrapy 当当网书籍信息爬取存储MySQL
    pymysql 中总结出来的一些问题
    python3 requests 12306下单环节
  • 原文地址:https://www.cnblogs.com/treeskyer/p/13976866.html
Copyright © 2011-2022 走看看