背景

你的履历上有参与过完整的项目,那么不管以后走项目管理或者技术路线相信工作中能少很多坑。如果你已经准备向项目管理方向发起挑战,希望能有一点帮助,大家一起共勉。

完整的项目周期从销售+售前拿下项目,再到产品进行项目的需求调研、原型设计,再到开发介入后的概要设计、详细设计、开发阶段,最后再到上线前交付验证。这中间资源协调、人员管理、架构选型等等等我只是看客,因为我还不是项目经理,只是这条路上刷经验的小白。所以我只能分享我具体参与的部分。

概要设计的那些坑如何避免

概要设计也称总体设计,其基本目标是能够针对软件需求分析中提出的一系列软件问题, 概要地回答问题如何解决。例如,软件系统将采用什么样的体系构架、需要创建哪些功能模块、 模块之间的关系如何、数据结构如何?软件系统需要什么样的网络环境提供支持、需要采用什 么类型的后台数据库等。 应该说,软件概要设计是软件开发过程中一个非常重要的阶段。

概要设计基本过程如图 5-1 所示,它主要包括三个方面的设计。首先是系统构架设计,用 于定义组成系统的子系统,以及对子系统的控制、子系统之间的通信和数据环境等;然后是软 件结构和数据结构的设计,用于定义构造子系统的功能模块、模块接口、模块之间的调用与返 回关系,以及数据结构、数据库结构等。

制定规范

具有一定规模的软件项目总是需要通过团队形式实施开发,所以制定在设计时应该共同遵守的规范,以便协调与规范团队内各成员的工作。不然后期形成的文档格式五花八门,再去修改格式将是痛苦的过程,也显得不专业。

概要设计时需要制定的规范或标准包括:

      a.需要采用的管理规则,例如操作流程、交流方式、工作纪律等。

      b.设计文档的编制标准,包括文档体系、文档格式、图表样式等。

      c.信息编码形式,硬件、操作系统的接口规约,命名规则等。

      d.设计目标、设计原则。

系统构架设计

系统构架设计就是根据系统的需求框架,确定系统的基本结构,以获得有关系统创建的总 体方案。其主要设计内容包括:

     a.根据系统业务需求,将系统分解成诸多具有独立任务的子系统。

        b.分析子系统之间的通信,确定子系统的外部接口。

     c.分析系统的应用特点、技术特点以及项目资金情况,确定系统的硬件环境、软件环境、 网络环境和数据环境等。

     d.根据系统整体逻辑构造与应用需要,对系统进行整体物理部署与优化。 很显然,当系统构架被设计完成之后,软件项目就可按每个具有独立工作特征的子系统为 单位进行任务分解了,由此可以将一个大的软件项目分解成许多小的软件子项目。

软件结构设计

软件结构设计是在系统构架确定以后,对组成系统的各个子系统的结构设计。例如,将系统进一步分解为诸多功能模块,并考虑如何通过这些模块来构造软件。

软件结构设计主要内容包括:

    a.确定构造子系统的模块元素。

    b.根据软件需求定义每个模块的功能。

    c.定义模块接口与设计模块接口数据结构。

    d.确定模块之间的调用与返回关系。

    e.评估软件结构质量,进行结构优化

公共数据结构设计

概要设计中还需要确定那些将被许多模块共同使用的公共数据的构造。例如,公共变量、 数据文件以及数据库中数据等,可以将这些数据看作为系统的公共数据环境。 对公共数据的设计包括:

    a.公共数据变量的数据结构与作用范围。

    b.输入、输出文件的结构。

    c.数据库中的表结构、视图结构以及数据完整性等。

但是数据结构设计阶段往往会发现一些需求调用中的不足进而衍生出更多的需求来。这一点前期要注意。因为需求频繁变更将导致后续设计的一系列变化,所以期间要有人专门的更近和进行整体设计的把控,避免最后的结果达不到客户的要求。

参考:软件工程之软件概要设计 - 挑战者V - 博客园

软件工程--概要设计相关推荐

  1. 软件工程小组第六次会议记录

    会议主题:软件工程概要设计写作 与会时间:5月8日 与会地点:图书馆小组研究室寒露A627 与会成员:尚卓燃.张世豪.王昊钰.傅宇豪 会议记录: 主要讨论了概要设计的写作内容,并进行分工写作. 转载于 ...

  2. 软件工程课程实践-概要设计说明书

    1.引言 1.1编写目的 在本基金管理系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对基金市场和基金用户的实地调研中获得,并在需求规 ...

  3. 【软件工程】——概要设计说明书

    1引言 1.1编写目的 本阶段完成系统的大致设计并说明系统的数据结构与软件结构,本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件概貌,把它加工成程序细节上非常接近与源程序开发的软件标识. 预 ...

  4. 【软件工程】概要设计说明书

    概要设计说明书 1引言 1.1编写目的 这篇文章的编写目的主要是为了开发此系统为系统做一个总体的结构设计,经评审后进一步细化,分别对每一模块进行详细细化的解决方案.接口和数据库等方面的设计,明确描述所 ...

  5. 软件工程小组问世第六章之概要设计青铜篇

    概要设计 1引言 1.1目的 该文档的目的是描述约跑软件的概要设计,主要内容包括系统功能简介.系统结构设计.系统接口设计.模块设计和界面设计等. 1.2范围 1.2.1系统目标 设计一个约跑软件. 1 ...

  6. 软件工程——软件开发阶段(概要设计、详细设计)

    需求分析确定了系统的开发目标,下一步工作就是软件设计.软件设计可以进一步地 分为两个阶段:总体设计和详细设计.确定系统的具体 实现方案.给出软件的模块结构.编写各个文档 目的是什么? 承上(需求)启下 ...

  7. 软件工程——软件设计方法(概要设计)

    软件设计方法主要分为两个方面:1.概要设计  2.详细设计 概要设计: 一.软件设计的目标和任务 1.定义 将文字转化为结构图,根据用信息域表示的软件需求,以及功能和性能需求进行数据设计,系统结构设计 ...

  8. (软件工程)——概要设计说明书

    步骤:概要设计和详细设计 软件设计的目标和任务 用信息域表示的软件需求,以及功能和性能需求,进行:数据设计.系统结构设计.过程设计 信息阶段的信息流 软件设计任务: 从工程管理的角度来看,软件设计分为 ...

  9. 【软件工程】课程作业(三道题目:需求分析、概要设计、详细设计、软件测试)

    文章目录: 故事的开头总是极尽温柔,故事会一直温柔--

  10. 【软件工程基础复习整理】第五章概要设计(3) 面向数据流图的软件结构设计

    面向数据流图的软件结构设计 是一种结构化的设计方法 研究.分析和神擦好数据流图,确保数据流图符合实际,必要时细化数据流图 确定数据流图的类型,即变换型的数据流或事物型的数据流 (变换型把数据变成另一种 ...

最新文章

  1. 三次冲刺的小组成员的团队贡献分
  2. 关于按值传递和按引用传递(送给这个方面的新手——包括我自己)
  3. 使用Opencv的一些注意事项
  4. 2016中国大学生程序设计竞赛(长春)Sequence II HDU - 5919 主席树
  5. 认识计算机系统反思,《计算机系统组成》教学反思
  6. 最小生成树之迪杰斯特拉算法(Dijkstra算法)之单源最短路径
  7. cmd输入pip报错_Houdini安装外部python库(pip)
  8. 1.2亿次下载,近3万Star的开源项目是为何会“死”掉?
  9. maven怎么引入自定义(本地/第三方)jar图文教程
  10. HDOJ 2896 病毒侵袭(AC自动机入门)
  11. centOS6.4部署svn
  12. underscore源码学习笔记(一)
  13. 怎么用计算机算全勤奖,全勤奖计算与发放细则
  14. Protel 99 SE 如何导出BOM清单
  15. java如何运行_如何运行java程序
  16. 关于word使用之三线表制作
  17. react PC端 适配 自适应
  18. 日本作家将编程语言变成了动漫人物,你猜C语言是萝莉还是御姐?不得不说脑洞实在太大了!
  19. ALU,半加器,全加器,减法电路
  20. 虚拟主机的构建——基于域名、端口、IP

热门文章

  1. E盾网络验证企业版个人版离线版易语言源码加密对接好的自绘界面1
  2. CAD中插入外部参照字体会变繁体_CAD缺字体时为什么有些字体无法替换?大字体什么意思?什么是形文件?...
  3. 2021年下半年软件设计师考试下午题
  4. 计算机软件高级证书试题,高级程序员认证考试经验总结
  5. 深圳立仪发布纳米级高分辨率光谱共焦位移传感器,精度再破纪录
  6. PR曲线、ROC曲线、AUC、AP简单梳理
  7. 项目管理手记(七)--DRP系统的文化输出与营销
  8. 湘源里面关于缩放的问题
  9. LVDS接口分类,时序,输出格式
  10. VLAN间路由的配置(一)普通VLAN间路由的配置