Computing and SE II Chapter 4: Requirements Engineering

Slides:



Advertisements
Similar presentations
allow v. wrong adj. What’s wrong? midnight n. look through guess v. deal n. big deal work out 允许;准许 有毛病;错误的 哪儿不舒服? 午夜;子夜 快速查看;浏览 猜测;估计 协议;交易 重要的事.
Advertisements

期末考试作文讲解 % 的同学赞成住校 30% 的学生反对住校 1. 有利于培养我们良好的学 习和生活习惯; 1. 学生住校不利于了解外 界信息; 2 可与老师及同学充分交流有 利于共同进步。 2. 和家人交流少。 在寄宿制高中,大部分学生住校,但仍有一部分学生选 择走读。你校就就此开展了一次问卷调查,主题为.
Chapter 3 工作設計與分析 人力資源管理:新時代的角色與挑戰 5/e 曾光榮、魏鸞瑩、黃金印著 前程文化出版.
考研英语复试 口语准备 考研英语口语复试. 考研英语复试 口语准备 服装 谦虚、微笑、自信 态度积极 乐观沉稳.
第七课:电脑和网络. 生词 上网 vs. 网上 我上网看天气预报。 今天早上看了网上的天气预报。 正式 zhèngshì (报告,会议,纪录) 他被这所学校正式录取 大桥已经落成,日内就可以正式通车 落伍 luòw ǔ 迟到 chídào 他怕迟到,六点就起床了.
2007年8月龙星课程 周源源老师课程体会 包云岗 中科院计算所
-CHINESE TIME (中文时间): Free Response idea: 你周末做了什么?
软件工程实践 软件学院 高海昌 作业提交 课件下载
软件质量保证与测试 第2讲 软件测试的基本概念和方法
第8章 组织中的人员配备 问题与思考: 海信集团使用“空降兵”,海尔集团与宝洁公司 则不使用空降兵。各自的道理何在?与器官移植 有哪些异同点? 在中低端饭店行业,何种绩效管理模式能使员工 的行为与企业的长远利益相一致?桃源大酒店、 城南往事和微山湖鱼馆的案例。 公司是不是员工的家?该不该是员工的家?
Business English Reading
第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介.
何謂專案管理? 美國專案管理學會 專案管理就是「為達成或超出利害關係人的需求或期望,把種種知識、技能、工具、技術應用在專案活動上,…,其牽涉到相互競爭的範疇,時間、成本、品質,以及利害關係人各種不同需求和期望之間的平衡」
:sisu Password:
How can we become good leamers
寫教案—教學設計的格式與規範 林 進 材 台南大學教育系教授
自衛消防編組任務職責 講 義 This template can be used as a starter file for presenting training materials in a group setting. Sections Right-click on a slide to add.
專案管理 Project Management
訓練需求評估 紀信光.
摘要的开头: The passage mainly tells us sth.
NCC委員會之軟性變革 --以知識管理系統導入全會應用之案例探討— 指導教授:李國光 博士
Homework 4 an innovative design process model TEAM 7
Unit 4 I used to be afraid of the dark.
Thinking of Instrumentation Survivability Under Severe Accident
International Conference ITIE2010: Inspiration from Best Practices
Excellence in Manufacturing 卓 越 制 造
形式语言与网络 计算环境构建 1.
軟體原型 (Software Prototyping)
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
肢體殘障人士 Physically handicapped
Decision Support System (靜宜資管楊子青)
1 Maturity Mechanics and Model Elements成熟度机理和模型的元素
Teen Challenge Core Values
971研究方法課程第九次上課 認識、理解及選擇一項適當的研究策略
Maturity Mechanics and Model for Large-Scale Construction Project Management 大型建设工程项目管理成熟度机理 及其模型 贾广社.
Lesson 44:Popular Sayings
Unit 4.
Decision Support System (靜宜資管楊子青)
Could you please clean your room?
基于课程标准的校本课程教学研究 乐清中学 赵海霞.
绩效管理.
專案管理- 當代管理的新利器 CPMP「專案管理知識體系」課程.
IBM SWG Overall Introduction
ISO9001:2008 GB/T19001:2008 换版动态.
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
Chap 4 軟體品質保證.
2 GROUP 身體殘障人士 傷健共融—如何改善肢體殘障人士的生活素質
Guide to a successful PowerPoint design – simple is best
Talk about a stomach ache that was caused by eating leftover food.
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
虚 拟 仪 器 virtual instrument
中央社新聞— <LTTC:台灣學生英語聽說提升 讀寫相對下降>
工 作 分 析 Human resource management 东北林业大学经济管理学院 田昕加.
引導教學實務工作的知識根基 從三個面向來思考: 1.教學中的基礎知識是指什麼? 哪些領域的知識最為關鍵? 2.教師如何實踐及運用這些知識?
Case study: a manager’s dilemma 組別:3-7 組員:資財 黃姿瑋 資財 林宛璇
績效考核 一.績效考核: 1.意義 2.目的 3.影響績效的因素 二.要考核什麼? 三.誰來負責考核? 四.運用什麼工具與方法?
TEEN CHALLENGE Next Steps 核心价值观总结 CORE VALUES 青年挑战核心价值观
An organizational learning approach to information systems development
李宏毅專題 Track A, B, C 的時間、地點開學前通知
Unit 1 How do you study for a test?
Resolving Conflicts 解决冲突
創造思考的開發與培養.
Paper Prototyping Michael Tsai 2011/10/14.
怎樣把同一評估 給與在不同班級的學生 How to administer the Same assessment to students from Different classes and groups.
质量管理体系与工具 工程管理学
作业 请您用星级模式评估您自己公司的一致性状况。 您的公司与它的战略执行一致吗?.
多维阅读第13级.
第一届中国无线射频识别基准测试论坛 暨 备忘录签订仪式 2008年3月1日, 香港科技大学 无线射频识别(RFID)基准测试的挑战
Chartering a Course for Club Success 成功分會之經營訣竅
國際理事的角色 講師: 年指派理事 G L T 地 區 領 導 人 江達隆 博士.
Presentation transcript:

Computing and SE II Chapter 4: Requirements Engineering Er-Yu Ding Software Institute, NJU

Main Contents What is requirement? Why RE (requirements engineering)? Activities of RE

1. What is requirement? 需求定义[IEEE] (1)用户为了解决问题或达到某些目标所需要的条件或能力; (2)系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力; (3)对(1)或(2)中的一个条件或一种能力的一种文档化表述。

What is requirement? --问题域与解系统(1) 软件系统与外部环境

1. What is requirement? --问题域与解系统 (2) 当现实的状况与人们期望的状况产生差距时,就产生了问题。 要解决问题,就需要改变现实当中某些实体的状态或改变实体状态变化的演进顺序,使其达到期望的状态或演进顺序。 这些实体和状态构成了问题解决的基本范围,称为该问题的问题域(Problem Domain) 软件系统通过影响问题域,能够帮助人们解决问题,称为解系统

1. What is requirement? --共享现象 软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分的具有模拟特性。 换句话说,软件系统当中含有问题域某些部分的模型(或模拟),常见的模型包括数据模型、对象模型、处理模型等。 问题域中的某些信息能够和模型中的信息建立映射关系 这些通过映射建立的共同知识,就是问题域和解系统之间的共享现象

1. What is requirement? --需求 需求是用户对问题域当中的实体状态或事件的期望描述 R1:一旦书籍被借出,则在归还之前,它不能被再次借阅。 R2:在归还的书超过30天的归还期限时,归还后应该进行超期处罚。 直接需求 可以通过更改共享现象被满足的需求 间接需求 需要修改共享现象,同时连锁影响问题域才能满足的需求

1. What is requirement? --规格说明 规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征 主要包括两个部分: (1)对共享现象(模型)的描述; (2)系统对共享现象所施加的操作的描述。

1. What is requirement? --问题域特性 问题域自治的规律性称为问题域特性 包括结构特性和行为特性等 问题域特性的重要性 要想解决问题,它就需要了解问题域特性,将解决方案和问题域特性结合起来 要防止解系统的引入在问题域当中引发未预见的连锁反应

1. What is requirement? --从问题域、需求和规格说明的关系看需求工程 描述明确的问题域特性E; 定义良好的系统行为S ; 预期的需求R 需求工程的目的就是根据E,构建S,使得 需求工程的困难之处: (1)不存在描述明确的E; (2)不存在确定的针对S的评估标准R; (3) 是一个创造性的过程。 需求工程的主要工作 需求开发,确定 R 研究问题背景,描述问题域特性E 构建解系统,描述解系统行为S,使得

1. What is requirement? --需求的分类IEEE 功能需求(Functional Requirement): 和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。 性能需求(Performance Requirement): 系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。 质量属性(Quality Attribute): 系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。 对外接口(External Interface): 系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。 约束 进行系统构造时需要遵守的约束,例如编程语言、硬件设施等

1. What is requirement? --功能需求的层次性

1. What is requirement? --功能需求的层次性 业务需求 系统建立的战略出发点,表现为高层次的目标(Objective),它描述了组织为什么要开发系统 参与各方必须要对高层次的解决方案达成一致,以建立一个共同的前景(Vision) 用户需求 执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么 特性 模糊、不清晰 多特性混杂 多逻辑混杂 系统级需求 用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求 系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么

1. What is requirement? --功能需求的层次性 将用户需求转化为系统需求的过程是一个复杂的过程 首先需要分析问题领域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型; 然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。 该过程就是需求工程当中最为重要的需求分析活动,又称建模与分析活动。

2. Why RE ? --From theory (1) 模拟性 应该如何在计算世界中模拟现实世界? 怎样建立共享知识? 计算世界 现实世界

2. Why RE ? --From theory (2)现实世界 复杂 复杂性1:包含大量关联事物,具有巨量的分解和组合 复杂性2:对任一事物都不能完全描述,因为从不同的角度出发有不同的观察结论 非形式化的事物描述 实体 概念 …

2. Why RE ? --From theory (3)计算世界 形式化描述 有限的实体单位 合作 依赖 包含、继承 调用、使用 控制逻辑 序列 软件构建单位 单位组织方法

2. Why RE ? --From theory (4)需求分析 建立分析模型 以中立的(接近用户语言)语言、半形式化的方式定义“软件应该做什么” 限定了模拟的范围,软件设计按照定义来安排计算实体及其组合方式 缓和了用户和软件设计者之间(形式化 VS 非形式化)的交流差距

2. Why RE ? --From Practices (1)

2. Why RE ? --From Practices (2) ,Standish Group 1995 成功项目的影响要素 影响指数 用户参与 15.9% 高层管理支持 13.9% 清晰的需求说明 13.0% 正确的项目计划 9.6% 切合实际的期望 8.2% 细化的项目里程碑 7.7% 员工能力 7.2% 主人翁精神 5.3% 清晰的目标和前景 2.9% 努力工作 2.4% 其他

2. Why RE ? --From Practices (3) , Standish Group1995 失败项目的影响要素 影响指数 不完整的需求说明 13.1% 缺少用户输入 12.4% 缺乏资源 10.6% 不切实际的期望 9.9% 缺乏高层管理支持 9.3% 需求变化 8.7% 缺乏计划 8.1% 额外的无用功能 7.5% 缺乏IT管理 6.2% 技术能力不足 4.3% 其他

2. Why RE ? --From Practices (4) , Standish Group1995 需求因素 用户参与(用户输入) 高层管理支持 清晰的需求说明 切合实际的期望 清晰的目标和前景 需求变化 额外的无用功能 综合来看,需求因素 对成功项目的影响指数为53.9% 对失败项目的影响指数为60.9%

2. Why RE ? --From Practices (5) , ESPITI,1996 欧洲软件协会ESI 欧洲软件过程改进培训计划项目ESPITI 17个国家的超过3800个组织

2. Why RE ? --People think requirements is main troubles “There is little doubt that project requirements are the single biggest cause of trouble on the software project front. Study after study has found that, where there is a failure, requirements problems are usually at the heart of the matter.” [GLAS98] 'as much as 90% of subsequent troubles can be traced back to erroneous original specifications.’ [BRUC89]

2. Why RE ? --需求工程 是软件工程的一个分支 它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束 同时它也关注以上因素和准确的软件行为规格说明之间的联系 关注以上因素与其随时间或跨产品族而演化之后的相关因素之间的联系

3. Activities of RE 最常见的基本活动分类

3. Activities of RE--教材的活动分类 Inception Elicitation Elaboration Negotiation Specification Validation Requirements management Elicitation Analysis

3. Tasks of RE---Inception Establishing project vision and scope basic understanding of the problem (Objectives) the nature of the solution that is desired (Vision) How many things needed to developing the solution (Scope) Stakeholders Analysis the people who want a solution Characteristics of Stakeholders the effectiveness of preliminary communication and collaboration between the customer and the developer Make usage of characteristics of Stakeholders

3. Activities of RE---Inception Identify stakeholders “who else do you think I should talk to?” Recognize multiple points of view Understand stakeholders Work toward collaboration Establish common objectives, vision and scope The first questions Who is behind the request for this work? Who will use the solution? What will be the economic benefit of a successful solution Is there another source for the solution that you need?

3. Tasks of RE---Elicitation From where? (Source) Stakeholders, hard data, environments Elicit what? (Content) How many requirements How many elicit activities Which requirements in each elicit activities How to elicit (technique) Interview, prototype, observe, scenario (use case)… Up to source and content

3. Activities of RE--- Eliciting Requirements the goal is to identify the problem propose elements of the solution negotiate different approaches, and specify a preliminary set of solution requirements

3. Activities of RE--- Elicitation Work Products a statement of need and feasibility. a bounded statement of scope for the system or product. a list of customers, users, and other stakeholders who participated in requirements elicitation a description of the system’s technical environment. a list of requirements (preferably organized by function) and the domain constraints that apply to each. a set of usage scenarios that provide insight into the use of the system or product under different operating conditions. any prototypes developed to better define requirements. …

3. Activities of RE---Elaboration Create an analysis model that identifies data, function and behavioral requirements 一图胜千言 Analysis models can describe requirements more precise In analysis, solution requirements can be deduced Elaboration and elicitation are interweaved activities Get something, understand them, and need more…

3. Activities of RE--- Negotiating Requirements Agree on a deliverable system that is realistic for developers and customers Identify the key stakeholders for conflicts These are the people who will be involved in the negotiation Determine each of the stakeholders “win conditions” Win conditions are not always obvious Negotiate Work toward a set of requirements that lead to “win-win”

3. Activities of RE---Specification Writing what you know For communication to Developers Projects managers Users Testers User manual writers … With documents Using template Using writing techniques

3. Activities of RE--- Validating Requirements Assure the specifications are according to users requirements Misunderstanding Writing error missing Validating focus See textbook Validating with some standards Good enough, but not perfect

3. Activities of RE--- Requirements management Establishing baseline after requirements development Putting RE products into Software Configuration Management Maintaining track matrix Knowing the impacts of each requirements Change control Not every change is forbidden Not every change is permitted

The End Recommend Paper Next Lecture 《Software Requirements: A Tutorial》 《The World and The Machine》 Next Lecture Requirement Analysis