【软件工程】结构化软件设计
2015-10-04 17:50
281 查看
前言:
当需求已经明确确定,那么接下来就是设计了。就像盖大楼需要图纸一样,软件设计就是在为我们的程序打造图纸,先是大概的结构,然后再进行细化。然后剩下的,只要照图纸做就ok了。接下来,我们一起来看一下程序的图纸如何构造吧!导图概览:
首先来看一下,设计在软件工程整个过程中的位置。然后是就是设计这章的总览:
一 面向过程设计的基础
模块的逻辑设计:模块内部如何实现功能需求,输入参数,输出参数是什么
状态:该模块在何种条件下运行。
接口:将模块内的方法属性封装,让其他模块只能通过接口使用这些属性,起到了信息隐蔽的作用。
二、面向过程设计的流程
1. 制定规范2. 软件结构总体设计
3. 处理方式
4. 数据结构
5. 可靠性设计
6. 编写概要
7. 概要设计
三、结构化设计方法
内容
1.模块设计
原则:高内聚 松耦合
高扇入 低扇出 (调用关系图——系统结构图)
大小 50-100行
设计功能可预测的模块
避免过分受限制
设计约束
可移植性
内聚与耦合:
设计后处理:
处理说明、接口说明、全局数据结构、局部数据、所有设计约束和限 制、进行概要设计评审。
2.数据设计
原则a.确定所有数据结构和每种数据结构上施加的操作
b.建立数据词典,定于数据和软件设计
c.底层设计决策推迟到设计过程后期
d.数据结构表示只显示给必须直接使用该数据结构的模块
3.文件设计
流程1. 整理必须数据元素
2. 理清数据关系
3. 逻辑设计
4. 理解文件特性
5. 确定组织形式:顺序、直接存取
6. 确定文件存储介质:虚拟存储
4.过程设计
图形工具表格工具
语言工具
程序流程图
方法
1. 变换型分析
a. 重画数据流图b. 区分有效输入、输出、中心变换
c. 一级分解,设计上层模块
d. 二级分解,设计输入输出,中心变换部分的中下层模块
2. 事务型分析
a. 识别事务源b. 规定适当结构
c. 各种事务和他们定义的操作
d. 公共模块
e. 确定每一事务或一组事务
f. 规定全部下层操作。
g. 全部细节模式。
变换型进一个信息出一个信息,事务型会有调度中心同时调动多个事务
注意图示中的菱形
3. 模块结构改近
1. 执行功能2. 处理出错
3. 给调用者返回一个结束状态
4. 消除重复功能
作用域控制域?
四、形成文档
概要设计说明书详细设计说明书
相关文章推荐
- sicily 1006. Team Rankings
- 最好的单例模式 Java实现
- 第三周-删除线性表的元素
- NOIP四校联训Round2小结
- CentOS7部署LAMP之phpMyAdmin、wordpress、Discuz
- 表达式求值
- SQL Server解决分页问题(三种方法)
- 《测试驱动开发―31重构》
- SpringMVC 整合 hibernate 报错:No Session found for current thread
- 第三周-求集合并集
- 程序员面试智力题集锦
- 才发现,温度能左右我的心情。
- Android自定义权限(从一个Demo主界面跳转到另外一个Demo的主界面)、及四大组件的声明
- C++引用
- Java线程小结
- 排序
- centos7没有安装ifconfig命令的解决方法
- Android:Material Design详解
- Junit测试框架 Tips
- [java学习笔记]java语言基础概述之函数的定义和使用&函数传值问题