大连理工大学软件工程导论复习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件过程模型(生命周期模型)
实际的瀑布模型
快速原型模型
• 瀑布模型:力求一次性 给用户完整的系统。 • 增量模型:逐步增加系 统功能。 • 需要开放的架构设计。
增量模型
完整的螺旋模型
喷泉模型
• 迭代是OO开发过程的主要特性。 • 喷泉模型是典型的面向对象生命周期模型。 • “喷泉” 体现了面向对象软件开发过程迭代和无缝的特性。 • 为避免喷泉模型的过分无序,把一个线性过程作为总目标
– 软件的开发,绝不仅仅是编写程序 – 软件围绕着逻辑进行 – 软件就是一个信息交换器 – 产生、管理、获取、修改、显示或传送信息
• 什么是软件危机
– 软件危机是指在计算机软件的开发和维护过程中所遇 到的一系列严重问题。
• 软件工程(IEEE)
– 1993年,提出软件工程 – 1) 将系统化、规范化、可量化的工程原则和方法,
含义 数据的源点或终点 数据流 数据存储 加工(数据处理)
加工中常见关系的符号表示
符号
*T T*
+T T+ T T
含义
由数据A和B共同变换为数据C
由数据A变换为数据B和数据C 由数据A或B,或者数据A和B共同变换为数据 C 由数据A变换为数据B或C,或者同时变换为数 据B和C 由数据A或B其中之一变换为数据C
• 数据字典是关于数据的信息的集合,即对DFD图 中包含的元素的定义的集合。
• 数据字典的用途是供人查阅不了解的条目的解释 。提供分析设计过程中关于数据的描述。
• 数据字典与DFD相辅相成。 • 只有DFD和对应的元素的精确定义放在一起,才
能构成系统的规格说明。
定义数据的方法
• = 意思是等价于(或定义为) • + 意思是和(即,连接两个分量) • [ ]意思是或(即,从方括弧内列出的若干个分
大连理工大学软件 工程导论复习
(优选)大连理工大学软件工 程导论复习
第1章 基础知识
什么是软件
• 软件的定义—软件由三部分组成:
– 程序:在运行时,能提供所希望的功能和性能的指 令集
– 数据:使程序能够正确运行的数据 – 文档:描述程序研制过程、方法及使用的文档
软件≠程序
• 软件处理的是信息和逻辑
做”; • 过程是为获得高质量的软件要完成的一系列任务的框架,规定完成
各项任务步骤,回答“如何控制、协调、保证质量”。
管理方法
传统方法学与面向对象方法学
• 目前使用得最广泛的软件工程方法学。 • 传统方法学也称为生命周期方法学或结构化范型。
– 当软件规模较大,或对软件的需求是模糊的或随时间变化的时 候,使用结构化范型开发软件往往不成功;
• 软件工程方法学
– 把在软件生命周期全过程中使用的一整套技术的集合称为 方法学(methodology),也称范型(paradigm)。
– 软件工程方法学三个要素:方法、工具和过程。
• 方法是完成软件开发各项任务的技术,回答“如何做”; • 工具是为方法的运用提供自动或半自动软件支撑环境,回答“用什么
个部件 – 程序、文档、数据库、人工过程
系统流程图例子
• 例子
• 每个符号用黑盒 子形式定义了组 成系统的一个部 件。
• 没有部件内部的 具体工作过程
• 箭头确定通过系 统的逻辑路径( 信息流动路径)
数据流图
• 数据流图(DFD) 描绘信息流和数据从输入移 动到输出的过程中所经受的变换。
符号
或
或 或
应用于软件的开发、运行和维护。 – 2) 对1)中方法的理论研究。
• 软件工程基本原理 (开发与维护的指导)
1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性
件构件。
数据:静态 操作:动态
2. 把所有对象都划分成类(Class)。每个类都定义了一组数据
和一组操作。
3. 按照父类(或称为基类)与子类(或称为派生类)的关系,把 若干个相关类组成一个层次结构的系统(也称为类等级)。 在类等级中,下层派生类自动拥有上层基类中定义的数 据和操作,称为继承。
4. 对象彼此间仅能通过发送消息互相联系-封装性。
由数据A变换为数据B或C其中之一
组成数据流图的元素可以从描述问题的信息中提取
源点/终点
处理
采购员
产生报表
仓库管理员
处理事务
数据流
数据存储
定货报表
定货信息
零件编号 零件名称
(见定货报表) 库存清单
定货数量
零件编号
目前价格
库存量
主要供应者
库存量临界值
次要供应者
事务
零件编号* 事务类型
数量*
把处理事务的功能进一步分解后的数据流图
– 此外,使用传统方法学开发出的软件,维护起来通常都很困难。
• 结构化-静态分析,面向对象-动态分析
世界万物是变化的
传统方法的特点
• 生命周期模型 • 软件过程划分为若干个阶 段 • 每个阶段有各自的任务 • 阶段之间有某种顺序性
• 面向对象方法:
Everything is Object.
1. 对象作为融合数据及在数据之上的操作行为的统一的软
。
迭代
喷泉模型
• 迭代:逐步求精 • 阶段间没有明显的界限 -面向对象的思想保证 了各个阶段开发的一致 性。
迭代是OO开发过程 的主要特性。 喷泉模型是典型的 面向对象生命周期 模型。 “喷泉” 体现了面 向对象软件开发过 程迭代和无缝的特 性。
可行性与需求分析
• 可行性研究
– 不是解决问题,而是确定问题是否值得去解决 – 较高层次的系统分析和设计过程
。 • 需求分析
– 发现、求精、建模、规格说明和复审的过程 –反复求精多次细化,得出对目标系统的完整、准确和
具体的要求。
– 建立数据模型、功能模型和行为模型等三种模型。
– 还要写出准确的软件需求规格说明。
系统流程图
• 系统流程图
– 概括描绘物理系统的传统工具 – 用图形符号,以黑盒子形式描述组成系统的每
1.3 软件生命周期
• 软件生命周期由软件定义、软件开发和运行维护 三个时期组成,每个时期又可进一步划分成若干 个阶段,每个阶段有各自的任务。
Fra Baidu bibliotek
1
软件定义
2
软件开发
3
运行维护
1. 问题定义 2. 可行性研究 3. 需求分析 4. 概要设计 5. 详细设计 6. 编码和单元测试 7. 综合测试 8. 软件维护