软件的特点:
1.具有抽象性,是一种逻辑实体
2. 软件没有明显的制作过程
3. 软件不存在磨损、老化为题。
4. 对硬件和环境有依赖性
5. 复杂性高、成本高
6. 开发涉及诸多社会因素,如知识产权等。
软件按功能分类:
点亮财付通1. 应用软件:为特定领域而开发的软件。
2.
3. 系统软件:是控制和协调计算机及外部设备,支持应用软件开发和运行的软件。(汇编程序,编译程序,网络软件,数据库管理系统等)
4. 支撑软件(工具软件):测试、维护等软件。
计算机软件是什么?
是一系列按照特定顺序组织的电脑数据和指令的集合。两部分组成:
1. 机器可执行的程序和数据
2. 机器不可执行的,与软件开发、运行、维护、使用等有关的文档。
总结来说是:程序、相关数据、及其说明文档。
软件工程?
是指:工程的方法来构建和维护软件:三要素是:
1. 方法,是完成软件工程项目的技术手段
2. 工具,用于支持软件的开发、管理、文档生成
3. 过程,用于支持软件开发的各个环节的控制、管理
软件规模不断扩大、复杂性不断增加,使得现有的软件产生技术难以控制软件开发的局面。
软件危机
1. 软件需求的增长到不到满足
2. 软件开发成本和进度无法控制
3. 软件质量难以保证
4. 软件不可维护或维护程度非常低
5. 软件成本不断提高
6. 软件开发的生产效率提高赶不上硬件的发展、生产率等问题
科学小制作图片软件的生命周期
包括软件从提出、实现、使用、维护高停止使用的过程。
生命周期分为三个阶段:
1. 软件定义阶段:可行性研究、需求分析
2. 软件开发阶段:概要设计、详细设计、实现、测试
3. 软件运行维护阶段:使用、维护、退役
需求分析:
1. 需求获取
2. 需求分析
3. 编写需求规格说明书
4. 需求评审
结构化解析方法是常见的需求分析方法之一,DFD、数据字典、判定树、判定表示常用工具
程序流程图、N-S图(设计阶段)、PAD图是详细设计过程常用的图形工具
规格说明书的作用:
1. 便于用户、开发人员进行理解和交流
2. 反映用户问题的结构,可作为软件开发工作的基础和依据
3. 可作为确定测试和验收的依据
4. 为成本估算和编制计划进度提供基础
开发阶段:1. 需求分析2. 总体设计 3.详细设计 4. 编码 5. 测试
设计准则
对软件结构图进行优化:
1. 设计功能可预测的模块
2. 设计成单入口、单出口的模块
3. 应减少模块的接口和界面的复杂性
4. 使模块的作用域在该模块的控制域中
5. 深度、宽度、扇出和扇入适当
6. 模块规模适中
7. 模块独立性好
可行性分析阶段产生 可行性分析报告
总体设计阶段产生 概要设计说明书
集成测试计划是在概要设计阶段编写的文档
结构化方法的需求分析工具:数据流程图(DPD)
PAD图是软件详细设计的表示工具
系统总体结构图支持软件系统的历届金像奖影帝影后概要设计
软件功能属于总体设计阶段
数据流图的图符包括:
1. 加工
2. 数据流
3. 储存文件
4. 源和潭
模块独立的准则
高内聚低耦合(耦合性和内聚性)
按照耦合程度从强到弱分别是:
内容耦合、公共耦合、外部耦合、控制耦合、标记耦合和非直接耦合
耦合度:模块间互相连接的紧密程度的度量
内聚度:一个模块内部各个元素间彼此结合的紧密程度的度量
软件设计
软件结构设计
数据设计
接口设计
过程设计
软件概要设计阶段的任务有
大气压力1. 软件系统的结构设计
2. 数据结构和数据库设计
3. 编写概要设计文档
4. 概要设计文档评审
软件调试的基本步骤
1. 错误定位
2. 修改设计和代码,以排除错误
3. 进行回归测试,防止引入新的错误
软件测试的基本准则
1. 所有测试都应追溯到需求
2. 严格执行写实计划,排除测试的随意性
3. 充分注意测试中的集现象
4. 应避免程序员检查自己的程序
5. 不能穷举测试
6. 妥善保存测试计划等文件
黑盒测试的方法
1. 等价划分法
2. 边界值分析法
3. 错误推测法
4. 因果图
白盒测试的方法
1. 语句覆盖
2. 逻辑覆盖
3. 什么是hr路径分析
软件测试的步骤
1. 单元测试
2. 集成测试
3. 确认测试
4. 系统测试
软件调试采用的主要方法包括
1. 强行排错法
2. 回溯法
月落和尚青山去3. 原因排除法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论