• 理顺软件开发各个环节-10(开发管理-总体设计-1)


    5.3软件需求分析

      参见需求管理关于软件需求分析的章节,此处不再赘述。

    5.4软件总体设计

      总体设计,又称为系统设计,其包括架构设计,是软件系统的顶层设计,是软件开发不可逾越的阶段。
      总体设计最能体现分析人员的水平,不仅需要良好的综合能力,从总体上把握需求,还需要较宽广的知识面,对流行的架构、插件和组件技术、数据库等能熟知优劣,从而设计出符合软件需求的设计方案。
      满足软件需求的设计方案肯定不止一种,但我认为好的设计方案应满足:

    • 满足目前已知的需求;
    • 具有良好的扩展灵活性;
    • 符合技术发展趋势。

    5.4.1软件总体设计节点关键信息

      责任人:开发项目经理。

      执行人:系统分析员、高级程序员或架构师。

      关键行为:分析和沟通。

    • 分析:对软件需求进行分析,完整把握需求;
    • 总体设计:结合团队的技术栈,满足需求集合,有前瞻性;
    • 必要时,开发原型来验证设计思想。

      输入

    • 产品需求规格书;
    • 软件需求规格书(SRS);
    • 数据字典(DD);
    • UI&UE交互设计原型(如果有);
    • 用户故事集合;
    • 其它需求资料。

      输出

    • 软件产品总体设计文档;
      • 系统结构设计(架构设计);
      • 子系统/功能模块设计;
      • 接口设计;
      • UI&UE设计;
      • 数据库设计;
      • 通信协议设计(如有需求)。

      职责要求

    • 完整地分析软件需求;
    • 总体设计;
    • 尽量基于目前已知需求的最大集合,提高设计方案的扩展灵活性;
    • 把握成熟技术与新技术之间的平衡;
    • 对性能需求和质量属性有敏感性,系统架构能适应非功能需求;
    • 关键技术,必要时,开发原型来验证设计思想;
    • 提请软件总体设计评审:
      • 系统设计人员:主讲人,负责讲解和答复各种质询和疑问;
      • 产品经理:评估产品需求是否被设计的系统完整地满足;包括后期的需求的满足性;非功能需求的支持情况;
      • 项目经理:了解有哪些子系统,是否需要跨部门协作;
      • 开发项目经理及高级技术人员:关注技术方案的可行性、灵活性;非功能需求的支持情况;
      • 开发技术人员:了解软件的设计思路,便于开发实现;
      • 测试技术人员:了解软件的设计思路,以及其对测试的影响;
      • 运维人员:评审软件部署方案的可行性。
  • 相关阅读:
    GTest交流与经验总结
    linux i2c驱动架构-dm368 i2c驱动分析
    在不同编译环境中如何使用sleep()函数
    Android应用之基本的组件(一)
    Java Arrays Tutorial (3)
    ASP.NET中操作SQL数据库
    安卓开发06:布局-线性布局 LinearLayout
    在开发 ExtJS 应用程序常犯的 10 个错误
    每天4个linux命令--步骤一
    获取CPU序列号
  • 原文地址:https://www.cnblogs.com/alabo1999/p/12969056.html
Copyright © 2020-2023  润新知