总体设计

总体设计的基本目的:概括地说,系统应该如何实现。通过这个阶段的工作将划分出组成系统的物理元素-程序、文件、数据库、人工过程和文档等。
从上面的叙述中不难看出,在详细设计之前先进行总体设计的必要性:可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。
总体设计阶段由两个主要阶段组成:系统设计阶段,确定系统具体的实现方案;结构设计阶段,缺点软件结构。

1.设想供选择的方案

设想把数据流图中的处理分组的各种可能的方法,抛弃技术上行不通的分组方法,余下的就是可实现的,并且可以启示供选择的物理系统

2.选取合理的方案

对每一个合理的方案,分析员应该准备下列四份资料
(1)系统流程图
(2)组成系统的物理元素清单
(3)成本/效益分析
(4)实现这个系统的进度计划

3.推荐最佳方案

用户和有关的技术专家应该认真审查分析员所推荐的最佳系统。如果都没满足条件,则请使用部门负责人进一步审批。

4.功能分解

设计出组成这个系统所有的程序和文件(数据库)。
结构设计:确定程序由哪些模块组成,以及模块之间的关系。
过程设计:确定每个模块的处理过程。
一般来说,经过分解之后应该使每个功能对大多数程序员而言是明显移动的,功能分解导致数据流程图的进一步细化。

5.设计软件结构

应该把模块组织成良好的层次关系,顶层模块调用他的下层模块以实现程序的完整功能,每一个下层模块再调用更下层的模块,从而完成程序的一个子功能。

6.设计数据库

软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库。

7.制定测试计划

在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。

8.书写文档

(1)系统说明
(2)用户手册
(3)测试计划
(4)详细的实现计划
(5)数据库设计结果

9.审查和复查

最后应该对总体设计的结果进行严格的技术审查,在技术审查通过后再由客户从管理角度进行复审。

总体设计--《软件工程导论》相关推荐

  1. 《软件工程导论》课后习题答案

    <软件工程导论>课后习题答案 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.这些问题表现在以下几个方面: (1)用户对开发出 ...

  2. 《软件工程导论》考研复试整理

    一.名词解释 DFD 数据流图Data Flow Diagram PDL 过程设计语言 Process Design Language PAD 问题分析图 Problem Analysis Diagr ...

  3. 软件工程导论复试——一、软件工程学概述

    软件工程导论复试 本文用书 <软件工程导论>第六版张海藩.牟永敏 清华大学出版社 一.软件工程学概述 软件危机:计算机软件开发和维护时遇到的一系列严重问题 典型表现: (1) 对软件开发成 ...

  4. 首经贸电子信息复试软件工程导论

    一.名词解释 DFD 数据流图Data Flow Diagram PDL 过程设计语言 Process Design Language PAD 问题分析图 Problem Analysis Diagr ...

  5. 软件工程导论期末考点总结

    文章目录 一.软件工程学概述 1.1.软件危机 1.2.软件工程 1.2.1.软件工程的介绍 1.2.3.软件工程方法学 1.3.软件生命周期 1.4.软件过程 1.4.1.瀑布模型 1.4.2.快速 ...

  6. 软件工程导论(张海藩第六版)期末考试、考研复试重点

    这里是一个重点的简介,只是概念性的内容,软件工程导论中还有一些画图的题目,建议先掌握概念性的内容,之后的画图就比较容易了. 文末附有完整的思维导图链接,思维导图里面是完整的知识点,学完一遍之后直接拿着 ...

  7. [课程复习] 软件工程导论之经典题目回顾 (一)选择题、填空题1

    作者最近在复习考博,乘此机会分享一些计算机科学与技术.软件工程等相关专业课程考题,一方面分享给考研.考博.找工作的博友,另一方面也是自己今后完成这些课程的复习资料,同时也是在线笔记.基础知识,希望对您 ...

  8. 软件工程导论期末复习整理

    软件工程导论 第1章 软件工程学概述 复习小结 1.识记概念:软件,程序.数据,文档.软件危机.软件工程,软件过程, 软件生命周期 2.理解软件工程的本质特性6个和基本原理7条 3.掌握软件工程的三个 ...

  9. 软件工程导论第五章复习总结附思维导图及部分习题答案

    软件工程导论第五章复习总结附思维导图及部分习题答案 总体设计 一.设计过程 1.设想提供选择的方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构 6.设计数据库 7.制定测试计 ...

  10. 软件工程导论复习总结

    软件工程导论 第一章 软件工程学概述 第二章 可行性研究 第三章 需求分析 第五章 总体设计 第六章 详细设计 第七章 实现 第八章 维护 第九章 面向对象方法学索引 第十.十一.十二章 面向对象分析 ...

最新文章

  1. 2022-2028年中国体育用品行业投资分析及前景预测报告(全卷)
  2. centos7 安装mysql 解决:Failed to restart mysqld.service: Unit not found
  3. .NET Remoting程序开发入门篇(五)
  4. ansible for devops读书笔记第一章
  5. 前端学习(1815):前端调试之css flex 练习1
  6. 修改页面后获得flag_互动征集丨是时候为2021立flag了
  7. linux .forward,linux forward的实现
  8. 服务器应用日志清理,Linux下Tomcat日志定期清理
  9. python统计句子中单词个数_【python统计单词数量】作文写作问答 - 归教作文网
  10. 使用EF框架的增删改查和分页的公共类
  11. Java实现冒泡排序及逆序冒泡排序
  12. VMWARE:NAT模式连接外网
  13. x5内核有什么优点_关于接入腾讯X5内核的一些坑(不断更新)
  14. 解决npm下载包慢的方法
  15. python 转盘 圆形_python实现大转盘抽奖效果
  16. 初中计算机课师徒结对活动记录,2013师徒结对活动记录
  17. 征途mysql启动不了_征途单机版架设中场景服务器启动失败?这是为什么?
  18. jsp80141汽车租赁租车车辆管理系统ssm+mysql
  19. 那些诡异的黑客事件 一
  20. 开源电子书阅读器 LibreraReader 编译环境与编译

热门文章

  1. 在github上下载的.md文件怎么打开
  2. 我国超级计算机历代,《决战崛起——中国超算强国之路》作品研讨会召开
  3. (转载)7 .24张小龙内部讲座《通过微信谈产品》完整版
  4. html手机qq登陆验证码,为什么qq登陆需要验证码?qq登陆需要验证码怎么取消?...
  5. [Linux] 10. shell编程基础《updating》
  6. Mysql全站最全笔记,从入门到资深!
  7. 项目管理——项目进度的确定
  8. IDEA自定义模板:快速指定一个数据库映射字段(驼峰生成下划线命名)
  9. SpringBoot整合Swagger2
  10. Java腐烂的橘子leetcode