软件工程电子课件第2章 分析阶段

合集下载

高级软件工程(第二章)软件开发过程与开发方法 (2017课件)

高级软件工程(第二章)软件开发过程与开发方法 (2017课件)

ቤተ መጻሕፍቲ ባይዱ
⑸ 支持阶段
主要目标:在系统初始安装后的几年里保持系统 有效的运行。
主要活动: 维护系统; 加强系统; 支持用户。
11

1. 迭代
迭代意味着任务做了一次,接着又一次,然后 又一次(任务是不断重复的)。 随着每一次迭代,结果得到了修正,并且越来 越接近目标。 假设:不可能在第一次就得到正确的结果。
17

模型的概念
模型(MODLE)是对某个实体或事物的抽象和简 化。其目的是在构建这个事物之前先来理解它。 模型忽略了非本质的细节,抽象出了问题本质, 使问题更容易理解,有助于对复杂问题进行分 层,从而更好地解决问题。
18
面向过程方法
面向过程的方法认为我们的世界是由一个个相互关 联的小系统组成。 每个小系统都有明确的开始和明确的结束 ,开始和结 束之间有着严谨的因果关系。 如果用计算机模拟它,首先的工作就是将这个过程 描绘出来,定义因果关系,细化,用编程语言实现。 过程中每一步都会产生、修改或读取一部分数据。 将世界视为过程的这个方法本身蕴涵着一个前提假 设,即这个过程是稳定的,这样我们才有分析的基础, 所用的工作成果都依赖于这个过程的步步分析。
19
面向对象方法
面向对象方法将世界看作一个个相互独立的对象, 相互之间并无因果关系。只有在某个外部力量的驱 动下,对象之间才会依据某种规律相互传递信息。 这些交互构成了这个生动世界的一个“过程”。 在没有外力的情况下,对象保持“静止”的状态。
20
面向过程,还是面向对象?
如果你的分析习惯是在调研需求时最先弄清楚有多 少业务流程,先画出业务流程图,然后顺藤摸瓜, 找出业务流程中每一步骤的参与部门或岗位,弄清 楚在这一步参与者所做的事情和填写表单的结果, 并关心用户是如何把这份表单传给到下一个环节的。 面向过程。 如果你的分析习惯是在调研需求时最先弄清楚有多 少部门,多少岗位,然后找到每一个岗位的业务代 表,问他们类似的问题:你平时都做什么?这件事 是谁交办的?做完了你需要通知或传达给谁吗?做 这件事情你都需要填写些什么表吗?.... OO

软件工程(第3版)第2章 人民邮电出版社PPT课件

软件工程(第3版)第2章 人民邮电出版社PPT课件
用于成功开发软件的一组基本观念和原则
6条“最佳实践” 10个“流程要素”
可重用方法内容及流程构建块的框架
可以在定义自己的开发方法和过程
底层方法及流程定义语言
统一方法架构元模型 UML
RUP最佳实践
迭代式开发 需求管理 使用基于组件的架构 可视化建模 验证软件质量 控制软件变更
问题定义 可行性研究 需求分析 概要设计 详细设计 编码和单元测试 集成测试(综合测试) 软件维护
瀑布模型
收集需求 分析 设计 编码 测试 维护
瀑布模型 - 加入迭代过程
收集需求 分析 设计 编码 测试 维护
快速原型法
快速建立一个反映用户 主要需求的原型系统
可视化编程工具的广泛 使用
架构和组件
软件架构(Software Architecture)
构成系统的组件 组件之间的关联和交互
架构刻画了系统的整体设计
去掉了细节部分 突出了系统的重要特征
可视化建模
由于应用领域不同,模型可以有文字、图形或数学 表达式等多种形式,一般说来,使用可视化的图形 更容易令人理解。
验证软件质量
用户故事 需求
测试用例 新用户故事
差错
隐喻 架构试探
制定交付 交付计划 计划
不确定的估计
确定的估计
最新版本
用户认可
迭代开发
验收测试
下一次迭代
小交付
难点试探
XP(极限编程Extreme Programming)的整体开发过程
极限编程
未完成的任务 用户故事 交付计划 项目速率
新用户故事 新项目速率
共享的信息
能力成熟度模型的结构
能力成熟度等级
初始级 可重复级 已定义级 已管理级 优化级

软件工程课件 第二章

软件工程课件 第二章
2、任务分解估计技术
先把项目分解成若干相对独立的子任务,再估算每个单独 任务的成本,最后得出项目开发的总成本。
常用方法是按开发阶段划分任务,还可把阶段划分成更小 的任务。
3、自动成本估算技术
以大量的历史资料为依据------软件工具完成。
经济效益还应考虑的因素
1、货币的时间价值
货币的价值本身随时间的增加而产生增值: F=P(1+i)n P:现在的钱;i:年利率;n年 F:现在存入P元,n年后可获得的钱。 P=F/(1+i)n i为银行的利率。P大于投入的钱则赢利。
可行性研究的步骤
一、复查系统规模和目标 系统规模:系统究竟解决什么问题。(问题范围) 系统目标:开发该系统究竟要达到什么目标。
二、研究目前正在使用的系统 确定现有系统能做什么,新系统还要解决那些问题。
三、导出新系统的高层逻辑模型。 新系统应该解决什么问题(功能及处理流程)及其约束。
四、导出和评价可供选择的方案 对高层逻辑模型导出不同的高层物理系统并进行评价。
经济效益 =使用新系统增加的收入+节省的费用
总的经济效益与生存周期长度有关,一般估计5年为宜。
此外,作为软件开发商,应从开发一个产品的角度来考 虑开发、维护、营销成本,推广的市场前景等等。
谢谢
在可行性分析以及后面的需求分析、总体设计 中,对现行系统的描述和对未来物理系统的描述, 都可以用系统流程图作为描述工具。
描述系统逻辑模型使用数据流程图,将在第三数据加工部件,如程序、处理机
输入输出:广义的不指明具体设备的符号 文档:通常表示打印输出,也可表示打印终
五、推荐行动方针 作出关键性决定:是否继续进行该项开发工程。 若值得开发,最好的方案是什么,并说明其理由。

《软件工程电子教案》课件

《软件工程电子教案》课件

《软件工程电子教案》PPT课件第一章:软件工程概述1.1 软件工程的定义解释软件工程的含义和目的强调软件工程的重要性1.2 软件开发生命周期介绍软件开发生命周期的基本阶段讨论每个阶段的关键活动和任务1.3 软件工程原则介绍软件工程的基本原则解释每个原则的重要性和应用第二章:需求分析2.1 需求分析的重要性强调需求分析在软件工程中的作用解释需求分析的目标和结果2.2 需求收集和分析方法介绍需求收集和分析的主要方法讨论每种方法的优缺点和适用场景2.3 需求规格说明书解释需求规格说明书的结构和内容强调需求规格说明书的重要性和维护第三章:软件设计和架构3.1 软件设计的重要性强调软件设计在软件工程中的作用解释设计的目标和结果3.2 软件架构设计介绍软件架构设计的基本概念和方法讨论架构设计的重要性和评估3.3 详细设计解释详细设计的过程和工具强调详细设计的重要性和与实现的关联第四章:软件实现和编码4.1 编码的重要性强调编码在软件工程中的作用解释编码的目标和结果4.2 编程语言和工具介绍常用的编程语言和开发工具讨论每种语言和工具的适用场景和特点4.3 编码规范和最佳实践解释编码规范和最佳实践的作用强调遵循规范和最佳实践的重要性第五章:软件测试和验证5.1 软件测试的重要性强调软件测试在软件工程中的作用解释测试的目标和结果5.2 测试方法和策略介绍常用的软件测试方法和策略讨论每种方法和策略的适用场景和优缺点5.3 测试用例和测试覆盖率解释测试用例的设计和编写强调测试覆盖率的重要性和评估方法第六章:软件维护和演化6.1 软件维护的概念解释软件维护的定义和目的强调软件维护的重要性6.2 维护活动和维护过程介绍软件维护的主要活动和过程讨论每个活动的关键任务和挑战6.3 软件演化模型介绍软件演化的一些常见模型讨论每种模型的适用场景和特点第七章:软件项目管理7.1 软件项目管理的重要性强调软件项目管理在软件工程中的作用解释项目管理的目标和结果7.2 项目管理工具和技术介绍常用的软件项目管理工具和技术讨论每种工具和技术的适用场景和优缺点7.3 项目计划和进度控制解释项目计划的概念和过程强调进度控制的重要性和方法第八章:软件质量保证8.1 软件质量的概念解释软件质量的定义和重要性强调软件质量保证的作用8.2 质量标准和质量模型介绍常用的软件质量标准和模型讨论每种标准和模型的适用场景和特点8.3 质量保证过程和活动解释质量保证的过程和主要活动强调质量保证的重要性和实施方法第九章:软件工程伦理和法律问题9.1 软件工程伦理问题讨论软件工程中的伦理问题,如知识产权、隐私等强调软件工程师的伦理责任和行为准则9.2 软件工程法律问题介绍软件工程中涉及的法律问题,如版权、合同等讨论法律问题对软件工程的影响和应对策略9.3 合规性和标准化解释软件工程的合规性和标准化的概念强调合规性和标准化的作用和实施方法第十章:软件工程前沿技术10.1 软件工程新技术介绍软件工程中的一些前沿技术,如、云计算等讨论每种技术的应用场景和前景10.2 技术趋势和挑战讨论软件工程中的技术趋势和面临的挑战强调应对技术趋势和挑战的方法和策略10.3 未来软件工程的发展展望未来软件工程的发展方向和趋势强调软件工程师在未来的角色和责任重点和难点解析重点环节一:软件工程的定义和目的重点关注软件工程的定义和目的,理解软件工程的核心目标和原则。

第02章软件工程的需求分析

第02章软件工程的需求分析

一、可行性研究
2)系统流程图的符号
一、可行性研究
一、可行性研究
3)系统流程图示例
[例]用系统流程图来分析下述问题。 某图书馆闭架借书流程如下:读者须先验明证件后才能进入查询室。读者 在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找 到所需图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将 填好借书单,从库房中取出图书交于读者。
一、可行性研究
8)草拟开发计划 • 任务分解,确定负责人 • 进度规划 • 财务预算 • 风险分析与对策:市场、技术、政策 9)书写文档提交审查
进行可行性研究,需要对软件项目的开发进行宏观 的把握,一般是由技术、财务、人事等多个部门组 成的小组来进行的。
一、可行性研究
3、系统流程图
在进行可行性研究时需要了解和分析现有系统,并以概括的形式表达对现 有系统的认识。进入设计阶段以后应该把设想的新系统的逻辑模型转变成 物理模型,因此需要描绘未来的物理系统的概貌。系统流程图是描绘物理 系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面
是不够形象直观.为了提高可理解性,常常利用图形工具辅助描绘数据结构.
常用的图形工具有层次方框图和Warnier图。 软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组 织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异 常,简化修改数据的过程,通常需要把数据结构规范化。
二、需求分析的任务
用户倾听和复查分析员的报告,确认分析员的认识是否正确、有无
遗漏,并及时纠正和补充分析员的认识。跟踪数据流图和复查系统 的逻辑模型这两个步骤实质上构成一个循环,分析员在分析过程中 必须充分重视和使用数据流图、数据字典和算法工具。

实用软件工程第2章PPT课件

实用软件工程第2章PPT课件
25
快速原型法选择的条件
项目组中有数据库分析和设计的专家,有 面向对象编程的专家,文档制作有成熟的 模板,而且系统或项目又不是非常大。
软件有一个孕育、诞生、成长、成熟、衰 亡的生存过程。这个过程即为计算机软件 的生存期 软件生存期9个步骤:立项(或签合同、 下达任务书)、需求分析、概要设计、详 细设计、编码实现、软件测试、软件发布 与实施、软件维护和版本更新或退役。
4
软件生存周期示意图
计划时期
立项、下达任务书 需求分析
开发时期
概要设计 详细设计 编码实现 软件测试 软件发布与实施
15
瀑布模型的特征
阶段间的顺序性和依赖性 推迟实现的观点 质量保证的观点
16
瀑布模型的特点:
(1) 里程碑或基线驱动,或者说文档驱动; (2) 过程逆转性很差,或者说不可逆转。
17
选择模型的条件:
不是任何软件都可以采用瀑布模型的,软件项 目或产品选择瀑布模型,必须满足下列条件: (1)在开发时间内需求没有或很少变化。 (2)分析设计人员对应用领域很熟悉。 (3)低风险项目(对目标、环境很熟悉)。 (4)用户使用环境很稳定。 (5)用户除提出需求以外,很少参与开发。
22
原型模型特点:
(1)原型驱动。开发者必须先有一个原型。 (2)与迭代模型相同点是反复循环几次, 直到客户确认为止。不同点是原型模型 事先有一个展示性的产品原型,而迭代 模型可能没有。
23
原型模型的缺点:
因为事先有一个展示性的产品原型,所 以在一定程度上,不利于开发人员的创 新。
24
快速原型法
由于原型模型的开发速度较快,有时也将它称做 快速原型法(Rapid Prototyping)。在开发 工具和开发环境迅速发展的今天,在信息系统开 发中,原型法和快速原型法又被赋予新的内容: 事先没有原型产品,也可以采取这种办法。基本 思路是:采用以面向数据为主的方法,在需求分 析的基础上,利用Power Designer等数据库分 析和设计工具,快速建立信息系统的概念数据模 型CDM和物理数据模型PDM;然后利用面向对 象的编程工具,在软件企业强大的类库、构件库 的支撑下,快速地实现需求分析中确认的流程、 功能、性能和接口;之后交付给用户试用,反复 循环几次,直到客户确认满意为止。

软件工程-第2章第1节

用。 某工厂有一个库房,存放该厂生产需要的物品,库房
中的各种物品的数量及各种物品库存量临界值等数据记录 在库存文件上,当库房中物品数量有变化时,应更新库存 文件。若某种物品的库存量少于库存临界值,则报告采购 部门以便其订货,每天向采购部门送一份采购报告。
2.1.3 系统流程图
库房可使用一台微机处理更新库存文件和产生订货报 告的任务。物品的发放和接收称为变更记录,由键盘录入到 微机中。系统中的库存管理模块对变更记录进行处理,更新 存储在磁盘上的库存文件,并把订货信息记录到联机存储中 。每天由报告生成模块读一次订货信息,并打印出订货报告 。图2.1给出了该系统的系统流程图。
系统流程图可用图形符号来表示系统中的各个元素, 例如,人工处理、数据处理、数据库、文件和设备等。它 表达了系统中各个元素之间的信息流动的情况。搞清业务处理过程以及处理 中的各个元素,同时要理解系统流程图的各个符号的含义 ,选择相应的符号来代表系统中的各个元素。所画的系统 流程图要反映出系统的处理流程。
2.1.1 可行性研究的任务
2.经济可行性 进行开发成本的估算以及了解取得效益的评估,确
定要开发的项目是否值得投资开发,这些即为经济可行 性研究的内容。
对于大多数系统,一般衡量经济上是否合算,应考 虑一个“底线”,经济可行性研究范围较广,包括成本 —效益分析、公司的长期经营策略、开发所需的成本和 资源、潜在的市场前景。
2.1.2 可行性研究的具体步骤
(1) 确定项目规模和目标。分析员对有关人员进行调 查访问,仔细阅读和分析有关的材料,对项目的规模和目 标进行定义和确认,清晰地描述项目的一切限制和约束, 确保分析员正在解决的问题确实是需要解决的问题。
(2) 研究正在运行的系统。正在运行的系统可能是一个 人工操作的系统,也可能是旧的计算机系统,因而需要开 发一个新的计算机系统来代替现有系统。现有的系统是信 息的重要来源。人们需要研究它的基本功能,存在什么问 题,运行现有系统需要多少费用,对新系统有什么新的功 能要求,新系统运行时能否减少使用费用等。

软件工程第二章.PPT


周期序号 周 期 划 分 周期名称
周期的主要活动
1
胚胎至分娩
胎儿 定期到妇幼保健院或妇产科医院检查
2
0~3岁
婴儿
请保姆看护,上婴儿室或托儿所
3
3~6岁
幼儿 上幼儿园,健康、活泼、天真地成长
4
6~12岁
儿童
上小学,好好学习,天天向上
5
12~18岁
少年 上中学,参加中考、高考,自古英雄
出少年
6
18~30岁
Copyright 2004-2011 Aspose Pty Ltd.
第2章 软件生命周期与开发模型
开发一个软件项目,首先要选择并确定一个适合 于该项目的软件生命周期模型,然后按照该软件
生发命 ,周 以期 达模 到型 成E的 功v开的al发彼ua路岸tio线。n图o,nl进y. 行有条不紊地开 ted wit软容hCA件 之osp生 一pyo命 ,rsig周 它eh.期 虽St 2l模 然i0d0e型不4s是是-f2o软软0r1件件.1N工工EA程程Tsp课课3o.s5程程eC研研Pli究 究teyn的 的Lt t四 重Pdr.大 点of内 ,ile 5.2
ted wit在h A每sp增o加se一.S个lid模es块fo前r .,NE先T要3.对5 该Cli模en块t P进ro行file 5.2 模C块op测yr试igh。t 2通0过04后-2再01将1 A此s模po块se加P入ty 到Lt系d. 统 中,然后还要进行系统集成测试。系统集 成测试成功后,再增加新的模块。
Copyright 2004-2011 Aspose Pty Ltd.
1.模型的本意
在瀑布模型中,软件开发的各项活动严格 按照线性方式进行,当前阶段的活动接受 上一阶段活动的工作结果,实施完成所需 的工作内容。Evaluation only.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档