软件工程4-5

上传人:ji****n 文档编号:54803515 上传时间:2018-09-19 格式:PPT 页数:42 大小:617.50KB
返回 下载 相关 举报
软件工程4-5_第1页
第1页 / 共42页
软件工程4-5_第2页
第2页 / 共42页
软件工程4-5_第3页
第3页 / 共42页
软件工程4-5_第4页
第4页 / 共42页
软件工程4-5_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《软件工程4-5》由会员分享,可在线阅读,更多相关《软件工程4-5(42页珍藏版)》请在金锄头文库上搜索。

1、第四部分 现代软件工程的需求过程,现代软件工程,我们将以下面这个软件系统需求开发的过程作为案例,对我们已经介绍的需求分析方法,作一个归纳。 本案例主要内容,来自原Rational软件公司总经理Dean Leffingwell/Don Widrig合著的软件需求管理用例方法一书,但有所修改和补充。,需求开发过程的案例分析,1、项目背景 2、问题定义 3、需求获取 4、需求确认 5、需求分析 6、需求处理 7、需求评审,需求过程,Lumenations有限公司: (1)40年历史的商用照明系统供应商,产品主要用于职业的剧院舞台照明。 (2)上市公司,但现在市场十分成熟或趋于萎缩、公司销售无力 (3

2、)公司需要新的市场,有收入和利润的增长机会,并与公司擅长的业务相差不远 (4)经顾问公司充分的市场调研后,决定选择高级住宅系统照明自动化。这个市场的未来增长是25%-35%,市场发育还不成熟,没有一个厂家处于主导地位。 (5)公司具有强大的品牌和分销网络、分销商渴望新的产品和市场,这是公司的优势。 (6)公司决定开发“家用自动照明系统(Home Lighting Automation System,HOLIS),1、案例的背景,Lumenations有限公司家用自动照明部 软件团队组织结构,HOLIS产品的软件开发团队,2、问题定义,对于将开发的产品,在一开始分析问题述求时,HOLIS团队就发

3、现,实际上存在三个不同的涉众群体,每个群体看问题的角度是不一样的。因此,问题陈述也从三个方面进行。 第一个是从公司的角度:,2、问题定义,第二个涉众群体是未来用户。 HOLIS从未来用户的角度,提出问题描述,看自己的理解是否合适:,2、问题定义,无疑,第三个涉众群体是分销商和潜在的建筑开发商。 分销商和建筑开发商是从商业的角度(产品是否好卖,用户能否接受)看问题的:,2、问题定义,HOLIS系统的主角,2、问题定义,控制开关子系统的主角,PC编程器子系统的主角,中央控制单元子系统的主角,HOLIS系统的主角描述(表1),HOLIS系统的非主角描述(表2-表3),HOLIS开发团队与公司综合管理

4、人员讨论的假定和约束,3、需求获取:确定HOLIS系统的主角,在建立业务和系统模型的时候,HOLIS团队再次分析主角找出存在与系统外部,并与系统交互的外部用户和设备。 结果,他们发现了新的主角: 修改后的HOLIS系统主角,找出HOLIS系统的用例,然后,HOLIS团队用讨论的方式,找出了HOLIS系统的主要用例(7个),以后,被扩展并细化为20多个。他们为每个用例编写了简单的描述。 开/关灯用例的简单描述,把主角和用例关联起来(图1),在确认了系统的主要用例以后,团队构建了一个可视的用例模型,来展示主角和与其交互的用例之间的关系。 这个用例图,仅仅考虑了系统外部角色与用例的联系,是业务模型。

5、 如果增加内部的用例(如:CCU),则构成系统模型。在需求获取阶段,让用户少知道一点系统内部,可能是件好事。,住户,房主/程序员,灯具,动作感应器,应急接收器,开关灯,激活情景,激活空闲模式,指示紧急情况,编程情景,变成空闲序列,发起动作序列,找出HOLIS系统的用例,HOLIS的主要系统级用例的简单描述(表4),理解用户需求,HOLIS团队用建立的业务系统模型,采用专题讨论会的形式,再次征询用户的意见,检查团队对需求的理解是否正确。 在会前,团队做了以下准备: 有关高档家庭照明系统发展趋势的介绍文章 已经出现的一些产品资料 到目前为止进行的需求收集和分析、用例图 参加讨论会的有: 预期的房主

6、、建筑商的代表、分销商的代表 公司销售和产品部门的负责人 全体HOLIS团队成员,理解用户需求,会议的结果,是形成了一个按“加权(用户和建筑、分销商权重)”的投票表决结果:票数反映了需求处理的优先级,、用户确认:定义系统,根据需求获取阶段的工作,团队将需求进行了组织整理,并形成HOLIS系统前景文件。 前景文件的编写依据:,控制开关子系统,主角1,用例1,用例2,用例3,中央控制子系统,主角1,用例1,用例2,用例3,PC编程子系统,主角1,用例1,用例2,用例3,主角1,用例1,用例2,用例3,硬件系统约束,HOLIS系统级用例模型,HOLIS前景文件,1、介绍 1.1 前景文档的目的 本文

7、档提供HOLIS系列家庭照明自动化系统的当前前景 1.2 产品综述 本文档提供HOLIS系列家庭照明自动化系统的当前前景 1.3 参考 HOLIS控制单元用例模型和补充规格说明 HOLIS开关用例模型和补充规格说明 HOLISPC编程器用例模型和补充规格说明 “家用安全系统”中的安全和可靠性标准(Overwriters实验室),HOLIS产品前景文件,2、用户描述简单描述系统用户的观点2.1 用户/市场统计总结根据市场统计所决定的产品动机分析2.2 用户分析描述产品的预期用户2.3 用户环境描述在使用中包括平台、应用系统在内的用户工作环境和具体使用模型2.4 关键用户需求列出用户关注的关键问题

8、或需求点2.5 替代和竞争对手用户认可并可得到的可能的对手的替代产品,3、产品综述3.1 产品前景提供系统或产品预期在市场上的状态描述3.2 产品定位陈述提供一个系统和产品在市场上的独特定位: 例如: 为了(正在建新的高级住宅的房主) 谁(希望提高居住条件、方便、舒适和安全) HOLIS(是一个家用自动照明系统) 它(带来前所未有、最时尚的自动照明功能,易于使用、价格合理) 不象(Skowron工业控制的Lightomation系统) 我们是(把最新的家庭自动化功能与内置安全特性结合起来,具有最小的安装和维护成本),3.3 能力总结总结产品的主要优点和和特性 客户利益 支持特性 利益1 特性1

9、 . .3.4 假定和相关条件3.5 成本和定价 4、管理属性描述将来评估、跟踪、划分优先等级等管理特性的属性,例如: 状态:建议的、批准的 优先级:关键的、重要的、有用的、建议增加的 工作量、风险、稳定性:低、中、高 5、产品特性产品特性描述 6、典型用例以方便读者理解的方式,描述产品最典型的使用方式,7、其他产品需求7.1 可应用产品标准列出产品必须符合的标准7.2 系统需求定义必须满足的系统需求,如:操作系统、网络性能等7.3 许可、安全、安装要求7.4 性能需求 8、文档需求8.1 用户手册8.2 在线帮助8.3 安装指南、配置和自述文件8.4 标记和打包 9、词汇表,确定HOLIS产

10、品的项目范围,范围是产品功能、项目资源的结合体,项目范围,功能,资源(时间、成本等),范围管理的主要技术,就是为项目建立需求基线。 (1)确定发布软件产品版本的时间(2)确定发布的功能特性,称为“基线定义”。 例如: 版本1.0应达到: 功能1(特性1、特性2.) 功能2(特性1、特性2.) 性能1(特性1、特性2.) 质量要求1(特性1、特性2.),为了确定基线,我们要: (1)为功能设定优先级 (2)为实现的功能评估工作量 (3)考虑风险因素 (4)为这些要素排序 (5)在有限资源条件下,划定范围,确定基线,HOLIS产品的目标范围与边界,需求讨论会后,HOLIS团队对每条功能特性的工作量

11、、风险进行了评估,根据12月提交原型、1月向制造部门发布的约束条件,确定了项目目标范围和系统开发边界。 HOLIS1.0版产品基线,HOLIS产品的目标范围与边界,HOLIS的四类视图:UML通过多重视图的方法,从用例出发,以不同角度,描述目标系统,逻辑视图 描述HOLIS功能的类、关系和子系统结构,过程视图 体现完成任务时HOLIS的多任务能力,组件,类, 接口, 协作,活动类,节点,HOLIS用例图,实现视图 描述HOLIS的不同代码制品,包括源代码和可执行文件构成,部署视图 描述HOLIS在多个房间或子系统上的功能分布,控制开关、中央控制单元、编程PC,5、需求分析:细化定义,逻辑视图:

12、,为了支持开发和测试,用例需要进一步被细化和详尽描述,即从用例模型向设计模型转化(实现用例)。 UML以协作作为系统的关键结构,描述用例(问题域)到系统行为(解域)的关系,协作有二方面的内容: 静态结构方面是:类、元素、接口、子系统等,表示的形式是类图等 行为方面是:元素之间的交互动作,表示的形式是交互图等,基于UML的需求分析就是完成用例模型向设计模型转换,HOLIS的类与类图(图2) 首先,为HOLIS找出三个系统级的类: 按扭类(界面) 中央控制器CCU类(控制) 灯类(执行) 其他类,如:应急控制、,按扭,CCU,灯,1 *,1 *,编程等,以后可逐渐填加,细化HOLIS的类(图3)

13、对系统级的类,再进行细化: 按扭类:可以细分为开/关/变暗/变亮/报警等 中央控制器CCU类:暂时不进行分解 灯类:可细分为主环境、背景、主题、氛围、区域等,1 *,1 *,划分HOLIS的子系统(包),HOLIS系统除CCU外,按不同场景(居室)应用,分解为不同的子系统 每个子系统含有开关和灯类的对象实例 它们与CCU协作完成控制,切记:理解子系统的含义不是功能的集合,是对象的集合,是对象的逻辑分布,从需求出发,考虑HOLIS系统的逻辑结构,逻辑结构建立过程: 需求分析从用例出发 寻找出三个系统级类 类再被分解为子类 系统按应用场景被分为不同的子系统(包) 子系统实现类的对象,开关灯用例,住

14、户角色,灯角色,开关类,灯类,CCU类,开关子类,灯子类,体系结构最后呈树型,还是比较合理的菱型(重用),系统设计中分析,开,关,变亮,变暗,HOLIS用例实例:开关灯 简要描述:该用例规定了灯的开关方式和根据用户按下控制开关上按扭的时间长短变明和变暗的方式。 基本流程:住户按下控制开关的任何一个按扭开始,如果用户在定时器的规定时间(1秒)内松开,系统改变灯的当前状态。 如果灯是开的,就把灯关上,没有照明。 如果灯是关的,就把灯打开到上次记忆的亮度。 意外流程:如果住户持续按下控制开关的开/关变暗按扭超过1秒钟,系统将为按下的控制开关按扭启动一个变暗的活动 被控制的灯的亮度以每秒10%的速度平

15、滑地增大到最大亮度 当达到最大值时,被控灯的亮度以每秒10%速度降到最小值 当达到最小时,继续按上一步骤循环进行 当住户停止按住开关的开/关/变暗按扭时,系统停止改变亮度,HOLIS用例实例:开关灯 控制灯用例的前置条件: 所选控制开关的开/关/变暗按扭必须“可以变暗” 所选控制开关的开/关/变暗按扭必须能够扩展灯的明暗程度 控制灯用例的后置条件: 在退出本用例时,系统记住所选控制开关的开/关/变暗按扭的当前亮度。 扩展点:没有 特殊需求: 性能:对于住户任何的可能动作,总控制板到系统响应的时间必须少于50毫秒,开关灯用例的Interaction框图,CCU,灯,按扭,准备按按扭,显示按扭状态,短暂按下按扭,按扭被按下,持续时间在1秒内,开/关灯,并采用记忆亮度,返回信息,显示信息,持续按下按扭,按扭被按下1秒以上,按记忆状态变亮或变暗循环,返回信息,返回信息,显示信息,根据用例和类,描述一次按下按扭事件的跟踪图,返回信息,松开按扭,返回信息,返回信息,显示信息,按扭被松开,停止变化亮度,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号