软件工程课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• • • •
4、表达需求规约(规格说明书)的三种风格 非形式化的规约
即以一种自然语言来表达需求规约,如同使用一种自然语言
写了一篇文章. 其中:可以不局限于那种语言通常所约定的任何符号或特殊 限制(例如文法和词法),但要为那些在一个特定语境 中所使用的术语提供语义定义,一般情况下,该语境
与通常使用该术语的语境是有区别的。
为了该功能的执行,所需要的输入和输出次序。
用于转换或内部计算所需要的公式。

4、性能需求 规约了一个系统或系统构件必须具有的性能特性。
例如:系统应该在5分钟内计算出给定季度的总销售税。
系统应该在1分钟内从100000条记录中检索出一个销售定单。 该应用必须支持100个Windows 95/NT工作站的并行访问。
(2)、判定树 判断树 (Decision Tree)也称为决策树,是用来描述在一 组不同的条件下,决策的行动是根据不同条件及其取值来选 择的处理过程。业务规则的描述通常可以使用判断树这一过 程描述工具。
【例题】画出顾客购货的折扣政策的决策树。 销售商在给顾客的折扣时,要考虑付款日期和交易额这两个因素。若 付款日期在10天以内(含10天),则当交易额超过¥10,000时,给予5%的折 扣;当交易额在¥5,000到¥10,000之间(含¥5,000)时,给予3%的折扣; 当交易额低于¥5,000时,没有折扣。若付款日期超过10天,则无论交易额 多少,均不给任何折扣。
【例题】画出顾客购货的折扣政策的决策表。 销售商在给顾客的折扣时,要考虑付款日期和交易额这两个因素。 若付款日期在10天以内(含10天),则当交易额超过¥10,000时,给予5% 的折扣;当交易额在¥5,000到¥10,000之间(含¥5,000)时,给予3%的 折扣;当交易额低于¥5,000时,没有折扣。若付款日期超过10天,则无 论交易额多少,均不给任何折扣。
第三章 结构化方法
【例题】绘制数据流程图(2008年10月真题) 41.某个学生成绩管理系统的部分功能如下: (1)基本信息管理:教务管理人员输入或修改学期教学执行 计划、学生名单和教师名单; (2)学生选课:学生根据教学执行计划进行选课; (3)分配任课教师:教务管理人员为符合开课条件的课程分 配教师,并打印任课通知单给教师; (4)成绩管理:每门课程的教师在考试评分结束后将考试成 绩交给教务管理人员,教务管理人员输入、维护成绩,系统可 生成成绩单(发给学生)、成绩统计分析表(发给教务管理人 员)。 请根据要求画出该问题的分层数据流图(要求画出顶层和0层 数据流图)。
期管理计
划(SLCMP)、软件配臵管理计划(SCMP)或软件质
量保证计划(SQAP)等文档中的信息。因此,在SRS中不应给 出: 项目成本; 交付进度; 报告规程; 软件开发方法;质量保证规程;配臵管理规程; 验证和确认规程;验收规程;安装规程。
第三章 结构化方法
复习建议: 自顶向下,逐步求精。 本章是整个课程的重点内容,其基本思想、基本 原理和基本方法是软件工程理论体系中最经典的 内容,考核题型涉及单项选择题、填空题、简答 题、综合应用题所有题目类型,占分值25%左右。 建议考生在牢记基本概念、基本原理的基础上, 对综合应用题多下工夫,多做练习。
第二节 软件开发的本质
• 软件 软件=程序+文档 • 软件开发的本质:“映射”,问题域到不同抽象层之间概念和 计算逻辑的映射.
2 实现映射的基本手段 建模:是解决问题的一般途径! 何谓建立问题的模型:
运用所掌握的知识, 通过抽象,给出该问题的一个结构。
非 结构化 或半结构化问题 结构化 问题
问题的结构化谱系 例如1 :y=x² +5 其中:采用数学作为建模工具
软件工程
第一章 绪论
复习ຫໍສະໝຸດ Baidu议: 本章内容较少,主要是让大家了解软件工程的提出的背景-软件危机以及软件工 程研究的内容。 考试题目类型主要是单项选择题、填空题,题量在3%~5%之间。
第一节 软件工程概念的提出与发展
1、软件危机
速度:软件的发展水平远远滞后于硬件的发展水平,生产 率低下,软件制造仍然是一种人工集约生产方式 质量:软件的质量低下,不能满足用户的需求、适应性差 成本:软件开发成本居高不下 软件工程的三个核心问题: 软件开发的速度、软件制品的质量、软件开发成本
6、设计约束需求
• • • • • • • • • •
法规政策 硬件限制 与其它应用的接口 并发操作 审计能力 控制功能 高级语言要求 握手协议 应用的关键程度 安全和保密
7、质量属性 质量属性(Quality attribute)规约了软件产品必须具有 的一个性质是否达到质量方面一个所期望的水平。例如: 属性 描述
(3)、结构化语言 【例题】用结构化语言表达:顾客购货的折扣政策。 销售商在给顾客的折扣时,要考虑付款日期和交易额这两个因素。若付款日期在 10天以内(含10天),则当交易额超过¥10,000时,给予3%的折扣;当交易额在 ¥5,000到¥10,000之间(含¥5,000)时,给予2%的折扣;当交易额低于¥5,000时 ,没有折扣。若付款日期超过10天,则无论交易额多少,均不给任何折扣。
注1:性能需求隐含了一些满足功能需求的设计方案,经常
对设计产生一些关键的影响。例如:排序,关于花费 时间的规约将确定哪种算法是可行的。 注2: 性能需求对功能需求而言,可以是一对多的,例如: ... 功能1 功能2 功能3 性能x
5、接口需求的类别 • 用户接口 和用户之间接口的逻辑特性。 • 硬件接口 说明所要求的支持和协议类型 • 软件接口 允许与其它软件产品进行交互 • 通信接口 与通讯设施(如,局域网)之间的交互 • 内存约束 易失性存储和永久性存储的特性和限制 • 运行 正常和异常的运行以及在系统正常和异常 运行下如何与系统进行交互 • 地点需求 描述系统安装以及如何调整一个地点,以 适应新的系统。
形式化规约
即以一种基于良构数学概念的符号体系来编制需求规约,
一般往往伴有解释性注释的支持。 其中: --以数学概念用于定义该符号体系的词法和语义; --定义了一组支持逻辑推理的证明规则,并支持这一符号体 系的定义和引用。
5、需求规约的作用
其作用可概括为: 第一:也是最重要的,作为软件开发组织和用户之间一份事
1、需求规约的定义 ★ 是一个软件/产品/系统所有需求陈述的正式文档,它表达了 一个软件/产品/系统的概念模型。 2、需求规约的基本性质 ★ 重要性和稳定性程度:对需求进行分级 可修改的 完整的:没有被遗漏的需求 一致的:不存在互斥的需求
3、需求规约(SRS)基本格式(P28)
第二节 需求规约(SRS)
可靠性 软件系统在指定环境中没有失败而正常运行的概率。
存活性 当系统的某一部分系统不能运行时,该软件继续运行或支
持关键功能的可能性。
可维护性
用户友好性
发现和改正一个软件故障或对特定的范围进行修改
所要求的平均工作。 学习和使用一个软件系统的容易程度。
需求发现的技术
• 自悟 • 交谈 • 观察 • 小组会 • 提炼
半形式化的规约 即以半形式化符号体系(包括术语表、标准化的表达格 式等)来表达需求规约。因此,半形式化规约的编制应遵循一 个标准的表示模板(一些约定)。
其中:
--术语表明确地标识了一些词,可以基于某一种自然语言 --标准化的表达格式(例如例如数据流图、状态转换图、实 体关系图、数据结构图以及过程结构图等)标识了一些元 信息,支持以更清晰的方式系统化地来编制文档. --应用中,不论是词还是标准化的表达格式,在表达上均必 须遵循一些约定,即应以一种准确和一致方式使用之。
其中:功能-能显示错误警告
设计约束-在对话窗口的中间显示,并使用红色的、14点加 粗Arial字体。
除了对要执行的功能给出一个陈述外,还应规约如下内容:
关于该功能输入的所有假定,或为了验证该功能输入, 有关检测的假定。
功能内的任一动作次序,这一次序是与外部有关的。
对异常条件的响应,包括所有内外部所产生的错误。 需求的时序或优先程度。 功能之间的互斥规则。 系统内部状态的假定。
实的技术合同书;是产品功能及其环境的体现。
第二,对于项目的其余大多数工作,它是一个管理控制点。
第三,对于产品的设计,它是一个正式的、受控的起始点。
第四,是创建产品验收测试计划和用户指南的基础
SRS所不能实现的作用 第一,它不是一个设计文档。它是一个“为了”设计的文档。 第二,它不是进度或规划文档,不应该包含更适宜包含在 工作陈述(SOW)、软件项目管理计划(SPMP)、软件生存周
【解析】 第三章 结构化方法 顶层图:只包含数据源/数据潭以及相关的数据流和一个处理。
第三章 结构化方法
要注意的问题: 1、黑洞(black hole),即只有输入而没有输出。 ②只有输出而没有输入。 ③灰洞(gray hole),即输入不足以产生输出。灰洞是经常 也是不易被察觉的错误。 ④加工处理只用来表示数据的处理和变化,避免将计算机命 令作为处理。 ⑤数据流必须起于且/或止于处理,即每一个数据流必须有 一个处理与之有关,数据流不能起于数据存贮且止于一个数据 源/数据潭或另一个数据存贮;也不能起于某个实体且止于另 一个数据源/数据潭或数据存贮。
2、软件工程的发展 (1)20世纪60~80年代 瀑布模型;过程化语言;支持工具 (2)20世纪80年代~今 软件复用技术;软件生产管理;面向对象语言 (3)近几年 软件复用技术:构件技术、平台技术、需求工程技术、领域 分析技术、应用集成技术等。 3、什么是软件工程: 应用计算机科学理论和技术以及工程管理原则和方法,按 预算和进度实现满足用户要求的软件产品的工程,或以此为研 究对象的科学
例如:
系统必须有能力支持100个以上的并发用户,每个用户可
以处理附录A中操作任务的任选组合,平均响应时间应该 小于1秒,最大响应时间应小于5秒。 其中:功能-可以处理附录A中操作任务的任选组合 性能-有能力支持100个以上的并发用户
平均响应时间应小于1秒,最大响应时间应小于5秒。
必须在对话窗口的中间显示错误警告,其中使用红色的、 14点加粗Arial字体。
• 模型 模型是一个抽象。模型是在特定意图下所确定的角度和抽象层次 上对物理系统的描述,通常包含对该系统边界的描述、对系统内各 模型元素以及它们之间关系的语义描述。 • 系统模型的类型 概念模型:描述软件是什么 软件模型:实现概念模型的软件解决方案。包括设计模型、实现 模型和部署模型。
第二章 软件需求与软件需求规约
复习建议: 正确定义问题,是解决问题的基础。 需求获取是软件开发的第一步,它的工作质量决定了 整个软件开发工作的成败,因此本章的内容是考核的重 点内容。 考核的题目类型主要有:单项选择题、填空题、简答 题,分值在10%左右。 内容以基本概念、基本原理为主。
第一节:需求与需求获取
1、需求的定义 一个需求是有关一个“要予构造”的陈述,描述了待开发产品/ 系统功能能力、性能参数或其它性质。 2、需求的基本性质 • 必要的 • 无歧义的 • 可测的 • 可跟踪的 • 可测量的 3、需求的分类 ★ • 功能需求,是整个需求的主体。 • 非功能需求:性能需求、外部接口需求、设计约束和质量属性需 求。 能够区分哪些是功能需求,哪些是性能需求。
第三章 结构化方法
5、数据字典 定义数据流程图中所有数据流和数据存储的数据结构。 定义为:= 顺序结构:+ 选择结构:【1】 重复结构:{ } 子界:m..n
6、加工的描述 ★ 第三章 结构化方法 (1)判定表 判断表(Decision Table)也称为决策表,是一个二维表,它 说明了每一种条件组合所产生的结果。 该表分为四个象限(quadrants)。 1.左上限代表所有的条件 2.左下限代表可能的结果 3.右上限代表每一种条件的取值(用Y和N来表示) 4.右下限用X表示所对应的条件组合所产生的结果
第三章 结构化方法
第一节 结构化需求分析
1、需求分析面临的挑战 问题空间理解 人与人之间的通信,“有效沟通” 需求的变化性
第三章 结构化方法
第三章 结构化方法
3、数据流图DFD图 ★ 用于建立系统功能模型。 是一种描述数据变换的图形化工具,其中包含的元素可以是 数据流、数据存储、加工、数据源和数据潭等。 4、建模过程(绘制流程图的过程) 自顶向下、功能分解 (1)建立系统环境图 (2) 自顶向下,逐步求精,建立系统的层次数据流图 0层图:从0层图开始对流程图中的要素编号 1层图…… (3)定义数据字典 (4)描述加工
相关文档
最新文档