版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、需求需求: :成功的软件开发的前提成功的软件开发的前提软件质量= 系统所实现的需求/客户所期望的需求v软件项目投标及签订合同的基础软件项目投标及签订合同的基础v软件系统实现的基础软件系统实现的基础v系统确认移交的基础系统确认移交的基础软件需求分析软件需求分析 -目录目录v需求工程概述需求工程概述v需求获取需求获取v需求分析、协商与建模需求分析、协商与建模v需求规约与验证需求规约与验证v需求管理需求管理什么是软件需求什么是软件需求 需求分析的任务就是准确地回答“系统必须做什么?” 这个问题,是通过系统分析员与用户一起商定,清晰、准确、具体地描述软件产品必须具有的功能、性能、运行规格等要求。软件需
2、求分析阶段的目的是澄清用户的要求,并把双方共同的理解明确地表达成一份书面文档软件需求规格说明书。软件需求软件需求 在软件的整个生命周期中,首先是软件计划期,接着是软件开发期,软件需求分析是软件开发的第一个阶段,也是关系到软件开发成功与否的关键一步。 软件在需求分析和设计阶段占用的工作量达到总工作量的4050,说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量的1020,而软件测试和调试的工作量占到总工作量的3040,甚至50%。需求工程的六个阶段需求工程的六个阶段 需求获取:资料收集 需求分析与协商:理解分析整理 系统建模:用模型描述(写下来)
3、需求规约:完善需求文档并定稿 需求验证:验证确认 需求管理:整体规划及变更管理软件需求分析软件需求分析 -目录目录v需求工程概述需求工程概述v需求获取需求获取v需求分析、协商与建模需求分析、协商与建模v需求规约与验证需求规约与验证v需求管理需求管理需求获取需求获取 缺少用户参与是项目失败的主要原因之一 良好的开端是成功的一半 需求获取:通过客户调研等手段对需求进行收集、分析、细化、核实和组织 两种项目(相对)的需求获取过程: 产品项目:一般是根据公司战略和市场需求研发,旨在进行批量出售或推广的项目 工程项目:一般是根据与用户签定的合同研发,旨在满足特定用户需求的项目常用需求获取方法与策略常用需
4、求获取方法与策略 建立顺畅的通信途径 深入客户方进行访谈与调查 观察用户操作流程建立顺畅的通信途径建立顺畅的通信途径 建立分析所需要的通信途径,以保证能顺利地对问题进行分析访谈与调查访谈与调查 访谈/调查计划:从初步的需求了解出发,制订需要了解或讨论的问题的顺序和范围等 有利于保证访谈的效率和全面性,但灵活性不足 在具体的实践中,通常采用折衷的方法,即适当地计划好面谈,但不要过于详细,允许有一定的灵活性需求案例需求案例 用户提出某种需求: 水的质量信息必须立即能够显示出来。 分析员更准确的描述: 水的质量记录必须在接到请求信号的5秒内显示出来。需求获取的三大挑战需求获取的三大挑战问题空间的理解
5、问题空间的理解人与人之间的沟通人与人之间的沟通需求的不断变化需求的不断变化123沟通问题沟通问题软件需求分析软件需求分析 -目录目录v需求工程概述需求工程概述v需求获取需求获取v需求分析、协商与建模需求分析、协商与建模v需求规约与验证需求规约与验证v需求管理需求管理需求分析原则需求分析原则 必须能够表示和理解问题的信息域(数据) 必须能够定义软件将完成的功能 必须能够表示软件的行为(作为外部事件的结果) 必须划分描述数据、功能和行为的模型(分离描述),从而可以分层次地揭示细节 分析过程应该在基本信息基础上不断细化需求协商需求协商 协商的过程就是讨论需求冲突,找出每个人都满意的折衷方案 协商不是
6、简单的逻辑或技术上的争论 要注意组织和行政方面的因素 不一致的目标 责任的丧失或转移 组织文化 组织管理态度和士气 部门差异 需求建模需求建模 在软件需求分析阶段,所创建的模型,要着重于描述系统要做什么,而不是如何去做 目标软件的模型不应涉及软件实现细节 常用的分析方法: 面向数据流的结构化分析方法 (SA) 面向数据结构的分析方法 面向对象的分析方法 (OOA)建模建模“一图胜过千言万语”UML简介简介 Unified Modeling Language 近十几年来OOSE最重要的成果 贡献者:Grady Booch, James Rumbaugh, Ivar Jacobson于1996年6
7、月推出 中文网站http:/www. http:/http:/ UML是一种可视化的图形符号建模语言,利用它可以进行需求分析、概要设计、详细设计、编程实现、项目计划、测试、原型迭代、产品发布、产品维护等。 目前在软件工程里主要用于系统分析与系统设计。 Rational Rose是UML的主要建模工具。 Microsoft Visio是UML常见的建模工具。 UML是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。由: 视图(views), 图(Diagrams), 模型元素(Model elements) 通用机制(general mechanism) 等几个部分构成。 是一种
8、客户、系统分析师、设计人员、编程人员、测试人员和维护人员共同的语言,沟通的工具UML UML 借助图形符号展示和表达系统的概观 ,据此 可以开发出表示系统各个方面的不同图示。有助于 理解系统的行为和状态的典型图有:用用例图用例为一系列事务,其中的每个事务是从系统外部调用的,需要与内部对象合作,以便在对象与系统周围之间创建关联类图此图是系统的静态结构,也是类以及这些类表示的关系的集合时序图是通过展示系统与其环境之间的交互,描述系统行为的简单而直观的方法 时序图协作图表示特定环境和交互中一系列关联的对象。 活动图是状态机图的变更或特例。在状态机图中,状态是展示执行操作的活动,操作完成后将触发转换。
9、状态图展示方法执行的状态和对象执行的活动。 协作图活动图状态图设计视图设计视图实现视图实现视图配置视图配置视图过程视图过程视图Use case视图视图描述描述系统的外部特性、系统的外部特性、系统功能等。系统功能等。 表示表示系统的实现特系统的实现特征,常用构件征,常用构件图表示。图表示。 描述描述系统设计特征,包系统设计特征,包括结构模型视图和括结构模型视图和行为模型视图,前行为模型视图,前者描述系统的静态者描述系统的静态结构结构( (类图、对象类图、对象图图) ),后者描述系,后者描述系统的动态行为统的动态行为( (交交互图、状态图、活互图、状态图、活动图动图) )。 表示系统内表示系统内部
10、的控制机制。常用类图描部的控制机制。常用类图描述过程结构,用交互图描述述过程结构,用交互图描述过程行为。过程行为。 配置配置视图描述系统的物理配置视图描述系统的物理配置特征。用配置图表示特征。用配置图表示。 (1) 统一标准UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。(2) 面向对象UML还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。 (3) 可视化、表示能力强系统的逻辑模型或实现模型都能用UML模型清晰的表
11、示,可用于复杂软件系统的建模。(4) 独立于过程UML是系统建模语言,独立于开发过程。 (5) 易掌握、易用由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。需求建模需求建模-用例建模用例建模 1992年由Jacobson提出了Use case 的概念及可视化的表示方法Use case图,受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。用例用例Jacobson 对用例的定义“对话中的参与者所执行的交互的动作序列,系统为参与者提供了一些可测量值。”用例的简单解释“系统的一组使用场景,每个场景描述了一
12、个系统执行的动作序列。执行动作序列,产生特定参与者可看得见的结果值 。”用例图的元素用例图的元素 4-1系统用例参与者用例图的元素用例图的元素 4-2 系统系统是用例图的一个组成部分,它代表的是一个活动范围,而不是一个真正的软件系统。系统的边界用来说明构建的用例的应用范围。系统边界框定义系统的边界或限制,所以,系统的所有功能或过程会被限制在系统内,即此边界将系统的所有过程/功能与外界环境分隔。用例图的元素用例图的元素 4-3 用例用例是系统执行的功能或过程,它可以由外部对象或系统内部另一个用例启动。用例图的元素用例图的元素 4-4 参与者参与者是负责启动系统过程的外部实体,它可以是使用系统的人
13、或为某些访问系统的外部过程。用例符号用例符号 3-1 系统边界框系统边界功能功能功能 投币饮料售货机系统投币饮料售货机系统用例符号用例符号 3-2 用例符号1. 投掷硬币投掷硬币2. 计算币值计算币值3. 送出饮料送出饮料用例符号用例符号 3-3 参与者用例 1用例 2参与者符号用例的优点用例的优点 用例将详细说明的需求表示为系统和一个或多个参与者之间的一系列交互 这些交互有助于向用户描述所提出的系统功能 就复杂系统来说,用例也以需要构建的内容提供系统分析的起点 用例提供由系统提供的服务的源,并且有助于确定系统必须实现的类 用例的必要性用例的必要性q有助于理解系统需求q有助于正确设计系统功能q
14、有助于正确建立功能间的关系构建用例图构建用例图 2-1步骤 1. 定义系统和系统边界步骤 2. 确定参与者及其目标步骤 3. 确定用例步骤 4. 确定参与者和用例之间的关系 一一 确定系统边界确定系统边界系统边界框用例 用例问题详述参与者 执行者是指用户在系统中所扮演的角色。执行者在用例执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示图中是用类似人的图形来表示, , 但执行者可以是人,也可以但执行者可以是人,也可以是一个外界系统。是一个外界系统。()一、执行者角色:角色:角色职责:角色职责:角色职责识别:角色职责识别:角色描述模板角色描述模板 从本质上讲从本质上讲,
15、,一个用例是用户与计算机之间的一次典型交一个用例是用户与计算机之间的一次典型交互作用。在互作用。在UML中中, ,用例被定义成系统执行的一系列动作。用例被定义成系统执行的一系列动作。用例有以下特点用例有以下特点: :用例捕获某些用户可见的需求用例捕获某些用户可见的需求, ,实现一个具体的用户目标。实现一个具体的用户目标。用例由执行者激活用例由执行者激活, ,并将结果值反馈给执行者。并将结果值反馈给执行者。用例必须具有功能上的完整描述。用例必须具有功能上的完整描述。1 1、与系统实现有关的主要问题是什么?、与系统实现有关的主要问题是什么?2 2、系统需要哪些输入、系统需要哪些输入/ /输出?这些
16、输输出?这些输入入/ /输出从何而来?到哪里去?输出从何而来?到哪里去?3 3、执行者需要系统提供哪些功能?、执行者需要系统提供哪些功能?4 4、执行者是否需要对系统中的信息进、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?行读、创建、修改、删除或存储?供货供货买饮料买饮料取货款取货款客户客户供货人供货人收银员收银员售货系统用例图售货系统用例图用例之间的关系用例之间的关系 4-1q用例之间的常见关系q扩展关系q包含关系用例用例 1扩展的行为扩展的行为用例之间的关系用例之间的关系 4-2 扩展关系满足条件用例 2用例之间的关系用例之间的关系 4-3 包含关系用例 1用例 2用例 1
17、 具有用例 2 的功能用例用例 1 1 表现出用例表现出用例 2 2 的功能的功能应用生命周期用例图应用生命周期用例图金融贸易系统用例图金融贸易系统用例图贸易经理贸易经理风险分析风险分析设置边界设置边界进行交易进行交易交易估价交易估价更新帐目更新帐目使用使用使用使用扩展扩展营销人员营销人员超越边界超越边界评价评价记帐系统记帐系统销售人员销售人员 现有一医院病房监护系统,病症监视器安置在每现有一医院病房监护系统,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央进行分析处理。在中心值班室里,
18、值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,定期更新病历,当病症出现时打印病人的病情报告,定期更新病历,当病症出现异常时,系统会立即自动报警异常时,系统会立即自动报警, , 并实时打印病人的病并实时打印病人的病情报告,立及更新病历。情报告,立及更新病历。 要求根据现场情景,对医院病房监护系统进行需要求根据现场情景,对医院病房监护系统进行需求分析,求分析, 建立系统的用例模型建立系统的用例模型例2: 医院病房监护系统请对系统需求进行分析!请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:经过初步的需求
19、分析,得到系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)、监视病员的病症(血压、体温、脉搏等)2 2、定时更新病历、定时更新病历3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。产生产生病情报告病情报告监视病情监视病情更新病历更新病历一、情景分析一、情景分析 系统名称:医院病房监护系统 根据分析系统主要实现以下功能: 1、病症监视器可以将采集到的病症信号(组合),格式化后实时的传送到中央监护系统。 2、中央监护系统将病人的病症信号开解后与标准的病症信号库里的病症信号的正常值进行比较,当病症出现异常时系统自
20、动报警。 3、当病症信号异常时,系统自动更新病历并打印病情报告。 4、值班护士可以查看病情报告并进行打印。 5、医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。 6、系统定期自动更新病历。建立系统的用例图建立系统的用例图 1、通过以下六个问题识别角色 (1)谁使用系统的主要功能? (2)谁需要系统的支持以完成日常工作任务? (3)谁负责维护,管理并保持系统正常运行? (4)系统需要应付(或处理)哪些硬设备? (5)系统需要和哪些外部系统交互? (6)谁(或什么)对系统运行产生的结果(值)感兴趣?通过回答这六个问题以后,再进一步分析可以识别出本系统通过回答这六个问题以后,再进一
21、步分析可以识别出本系统的四个角色:的四个角色:。角色描述模板角色描述模板角色:病 人角色职责:提供病症信号角色职责识别:负责生成、实时提供各种病症信号。角色:值班护士角色职责:负责监视病人的病情变化角色职责识别: (1)使用系统主要功能 (2)对系统运行结果感兴趣角色:标准病症信号库角色职责:负责向系统提供病症信号的正常值角色职责识别: (1)负责保持系统正常运行 (2)与系统交互角色:医 生角色职责:对病人负责,负责处理病情的变化角色职责识别: (1)需要系统支持以完成其日常工作 (2)对系统运行结果感兴趣通过分析可以初步识别出系统的用例为:中央监护,病症通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:例图为:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年篮球保护鼻子教案
- 2025-2026学年直线单元教案试讲
- 2025-2026学年教资英语教学设计改革
- 2026年面向智能制造的机械设计优化思路
- 消化系统的组成教学设计(2025-2026学年冀少版生物七年级下册)
- 2025-2026学年幼儿园中班教案设计
- 2026中国电力建设招聘试题及答案
- 2025-2026学年易拉罐搭建教案大班
- 2025-2026学年五上教学设计语文
- 2026智能家居运维师招聘笔试题及答案
- 2026年福建省烟草专卖局第二批招聘(127人)考试参考试题及答案解析
- 瓷砖销售市场营销推广方案
- - 育才中学2026学年春季第二学期初二年级地理实践活动与知识应用教学工作计划
- 2026年永州职业技术学院高职单招职业适应性测试模拟试题带答案解析
- 肥胖课件之针灸治疗
- “十五五规划纲要”解读:双碳引领绿色发展
- 建筑施工安全管理细则范本
- 海信集团AI面试求职者常见疑惑解答
- 巴比门店加盟协议书
- DB11∕T 1823-2021 山区水土保持生态修复与监测技术指南
- 中国航空油料招聘笔试题及答案
评论
0/150
提交评论