软件工程第五天

加油!最后一天!冲刺!


4.1设计过程

总体设计:又称为概要设计或初步设计

任务:1.确定系统中每个程序由哪些模块组成以及这些模块相互间的关系

2.划分出物理元素。包括程序、文件、数据库、文档等。 

 

 4.2设计原理***

模块化

模块:能够单独命名,有边界元素限定的程序元素的序列,是构成程序的基本构件。

模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

抽象

抽出事物的本质特性而暂不考虑细节

逐步求精

逐步揭露出底层细节,Miller法则:注意力集中在(7±2)上

信息隐藏与局部化

信息隐藏:指一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问的。主要是指模块的实现细节。

局部化:指把一些关系密切的软件元素物理地放的彼此靠近,它有助于实现信息隐藏。

模块独立

模块独立性:是模块化、抽象、信息隐蔽和局部化概念的直接结果。

模块独立是好设计的关键,设计是决定软件质量的关键环节。

度量标准:耦合、内聚。

一、耦合

是对一个软件结构内不同模块之间互连程序的度量。耦合强度取决于模块接口的复杂程度、通过接口的数据等

耦合性越高,模块独立性越弱。

 二、内聚

是用来度量一个模块内部各个元素彼此相结合的紧密程度的。

 同其他模块强耦合的模块意味着弱内聚;强内聚模块意味着与其他模块间松散耦合

软件设计目标:高内聚、低耦合

4.3启发规则

 

4.4描述软件结构的图形工具 

 

 4.5面向数据流设计方法

 

 5.1详细设计任务目的

(1)详细设计目的

确定怎样具体地实现所要求的系统,得出对目标的精准描述。

(2)详细设计任务

过程设计:即设计软件体系结构中所包含的每个模块的实现算法

数据设计:设计软件数据结构。

接口设计:设计软件内部各模块之间的接口

 5.2结构程序设计

 

5.3人机界面设计

 人机界面设计:是接口设计的一个重要的组成部分

设计人机界面过程常遇到的4个问题:

系统响应时间 重要属性:长度和易变性 用户帮助设施 出错信息处理 命令交互

人机界面设计指南:一般交互指南、信息显示指南、数据输入指南

5.4过程设计工具

 

 

 

5.5程序复杂度定量度量 

6.1实现

软件生命周期中的编码和测试统称为实现

1.语言选择:减少编程的难度、减少程序测试量、容易维护的实现基础

2.编码风格:程序内部的文档、数据说明、语句构造、输入输出、效率:效率主要指处理机时间和存储器容量

6.2软件测试基础

1.软件测试的目标:软件测试是为了发现错误而执行程序的过程。编码阶段(单元测试)测试阶段(各种综合测试)

6.3-6.5测试技术

单元测试

 回归测试:重新执行已经做过测试的某个子集,以保证程序的变化没有带来非预期的副作用 

 

6.6白盒测试

控制结构测试:基本路径测试、条件测试、循环测试

6.7黑盒测试

6.8调试

调试(也称为纠错)是在测试发现错误之后排除错误的过程。方法:蛮干法、回溯法、原因排除法

结果:找到了原因,然后改正和排除,没找到原因,猜测了一个原因,并设计附加测试用例来验证这个假设。

6.9软件可靠性

软件可靠性:程序在给定时间间隔内,按照规格说明书的规定成功运行的概率。

软件可用性:程序在给定时间点,按照规格说明书的规定成功运行的概率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值