88
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Softwaretechnologie II 10. Requirements Analysis Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://st.inf.tu-dresden.de/teaching/swt2 WS 2016-0.1, 29.10.16 1. Feasibility Study 2. Requirements Analysis 3. ZOPP 4. Software Requirement Specification (SRS) 5. Requirements Management © Prof. U. Aßmann 1

10. Requirements Analysis - TU Dresdenst.inf.tu-dresden.de/.../swt2/slides/10-st2-requirements-analysis.pdf · Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie

  • Upload
    hanhan

  • View
    217

  • Download
    2

Embed Size (px)

Citation preview

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Softwaretechnologie II

10. Requirements Analysis

Prof. Dr. U. AßmannTechnische Universität Dresden

Institut für Software- und MultimediatechnikLehrstuhl Softwaretechnologie

http://st.inf.tu-dresden.de/teaching/swt2WS 2016-0.1, 29.10.16

1. Feasibility Study

2. Requirements Analysis

3. ZOPP

4. Software Requirement Specification (SRS)

5. Requirements Management

© Prof. U. Aßmann 1

Softwaretechnologie II

Obligatory Reading

Ø Balzert Kap. 1 (LE 2), Kap 2 (LE 4)Ø Maciaszek Chap 6-8Ø ZOPP from GTZ www.gtz.de:

• Ziel-orientierte Projektplanung. GTZ (Gesellschaft für technischeZusammenarbeit). GTZ is a German society for development. ZOPP is a general-purpose project planning and requirements analysis method. Google for it.....

• http://portals.wi.wur.nl/files/docs/ppme/ZOPP_project_planning.pdf• ZOPP is part of Project Cycle Management (PCM), a more general methodology

for project management§ http://baobab-ct.org/learning/pcm.html

• http://en.wikipedia.org/wiki/Logical_framework_approach• The ZOPP-88 version, on which this material is basedhttp://pmkb.com.br/wp-

content/uploads/2013/08/GTZ-ZOPP.pdf

© P

rof.

U. A

ßm

ann

2

Softwaretechnologie II

Other References

Ø B. Schott. Verhandeln. Sicher, kreativ, erfolgreich. Haufe-Verlag.Ø W. Winkler. Probleme schnell und einfach lösen. Mvg-Verlag.Ø Sophist Group www.sophist.de

• Gruppe von kompetenten Anforderungsanalysten, die viele Tipps im Internet veröffentlichen

Ø [M. Glinz. Rethinking] Martin Glinz. Rethinking the Notion of Non-Functional Requirements. Proceedings of the Third World Congress for Software Quality, Munich, Germany, September 2005.• http://www.ptidej.net/course/log3410/fall11/Lectures/Article_5.pdf

© P

rof.

U. A

ßm

ann

3

Softwaretechnologie II

Objectives

Ø Understand the importance of pre-study and requirements analysisØ Distinguish the three main phases of requirements engineeringØ Understand why textual requirements should be formalized in

requirement modelsØ Large requirement models need graph structuringsØ Understand why the traceability between the tree-shaped models in ZOPP

allow for validation of the solution of user problems

© P

rof.

U. A

ßm

ann

4

Softwaretechnologie II

Software Development in the V-Model

Ø The most simple software development process is the V-model

Pre-Study•Product concept catalogue(Lastenheft)

Requirements Analysis•Software Requirement Specification(SRS)

Achitectural Design•Architecture (Grobentwurf)

Detailed Design•(Feinentwurf)

Implementation

Acceptance Test

Installation, Beta Test

System Test (in-house)

Component, Subsystem Test

Contracts, Class Tests

System test cases

Unit testcases

Acceptancetest cases

5

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Softwaretechnologie II

10.1. FEASIBILITYSTUDY (VORSTUDIE, MACHBARKEITSSTUDIE)

© Prof. U. Aßmann 6

Softwaretechnologie II

Feasibility Study (Mach-, Durchführbarkeits-, Vorstudie)

Ø The feasibility study (pre-study) is done before the project, permits the customer to decide whether he is interested.• Separate contract, separate budget (price)

Ø Result: product concept catalogue (Lastenheft), a summary of all coarse-grain requirements

Ø Product concept is refined and extended towards the SRS (software requirements specification, Pflichtenheft)• Based on the feasibility study, there is a GO or NO-GO decision• And a new contract• Part of this contract will be the SRS that is defined in the first phase of the project

© P

rof.

U. A

ßm

ann

Requirements Analysis

Feasibility Study(Vorstudie)

Product concept(Lastenheft)

SRS(Pflichtenheft)Project plan

Cost plan

Risik plan

GO?

7

Softwaretechnologie II

Feasibility Study Document (Lastenheft)

Ø The feasibility study fixes coarse-grain requirements and goals of the project, from the viewpoint of the client.

Ø Basis for the real requirements specificationØ Contents [Balzert]:

Ø Goal of project (problem model, goal model)Ø Application domain of product and target group (stakeholder model)Ø Functions (coarse-grain)Ø Data that are stored permanentlyØ Quality requirements (non-functional requirements such as

reliability, usability, efficiency,...)Ø Delivery (time, precision)Ø Additions

Ø Convention: all textual requirements are numbered with a specific key, specific for the Lastenheft:

• /LDxx/ for data• /LFxx/ for functions• /LQxx/ for quality features

© P

rof.

U. A

ßm

ann

8

Often:Models

Often:Text

Softwaretechnologie II

Example:Product Concept Catalogue (Lastenheft) - Task

Here is a „user story“, resulting from an interview with the customer.

Ø Maintain the data of all student assistants (Hiwis) in a chairØ Store the following information:

• Name, First name, Matrikel-Nr., HomeAddress, BirthDate• Telefon-Nr., StudyAddress and Telefon-Nr., StudyProgram, • #Semester, BachelorDate, TimesOfEmployment, DiplomDate

Ø Create the following report (list): • Head:

§ »Alphabetic List of all Student Assistents«• List body:

§ Name, First name, Matrikel-Nr., HomeAddress, BirthDateØ Also, output all stored data about an individual student.

© P

rof.

U. A

ßm

ann

9

Softwaretechnologie II

Example:Product Concept Catalogue (Lastenheft)

Ø 1 Objectives• The program “HIWI-Verwaltung“ shall help a chair to manage the student

assistants.Ø 2 Product employment

• The product is used in the office of the chair, by the secretaryØ 3 Product functions

• /LF10/§ Creation, update, and delete of student Hiwi data

• /LF20/§ Output of an alphabetic list of all Hiwis with the following data:

- Name, First name, Matrikel-Nr., Address, BirthDate• /LF30/

§ Output of all data of a Hiwi• /LF40/

§ Queries in a semi-natural languageØ 4 Product data

• /LD10/§ all data of a Hiwi:§ …………….

© P

rof.

U. A

ßm

ann

10

Softwaretechnologie II

Product Concept Catalogue (Lastenheft) (2)

Ø 5 Product quality requirements• performance

§ /LL10/ Functions /LF10 / and /LF40/ shall not need more than 2sec answertime

§ /LL20/ max. 1000 Hiwis must be maintained

• Other Quality Requirements:

© P

rof.

U. A

ßm

ann

Verygood

Good Normal Not relevant

Functionality XReliability XUsability XEfficiency XMaintainability XPortability X

11

Softwaretechnologie II

Cost Analysis

Ø Together with the feasibility study, costs have to be analyzed and forecasted.

Ø Without cost estimation, no price.• Basic way:

§ Define “work breakdown structure (WBS)” with all work packages and tasks § Sum up the estimation of all work packages

• Analysis methods (Cocomo, Function point analysis) see “Software-Management”.Ø Experts that have enough experience to estimate costs are worth a lot of

money!

© P

rof.

U. A

ßm

ann

Requirements Analysis

Feasibility Study(Vorstudie)

Product concept(Lastenheft)

Project plan

Cost plan

Risik plan

GO?

12

SRS(Pflichtenheft)

Softwaretechnologie II

Cost Estimation (Aufwandsschätzung)

Ø Costs• Fix costs• Variable costs• Resources

§ Labor cost§ Equipment§ Travel costs

Ø Time (Duration):• Person days, months and years• Time of project

Ø Quantity:• LOC (Lines of Code)• Size of data• Complexity scales (grading 1-5)

Ø Quality:• Quality-of-Service levels (service level agreements (grading 1-5)

Ø More in course Softwaremanagement

© P

rof.

U. A

ßm

ann

13

CoTiQQ

Softwaretechnologie II

Risk Analysis

Ø Together with the feasibility study and the requirements analysis documents, the software producer has to perform a risk analysis

Ø Risk analysis protects the producerØ To underestimate costsØ To mispredict deadlinesØ To underestimate goal conflicts

Ø Risk analysis results are preserved in a risk management plan with risk list

• and regularly inspected by the management

© P

rof.

U. A

ßm

ann

Requirements Analysis

Feasibility Study(Vorstudie)

Product concept(Lastenheft)

Project plan

Cost plan

Risik plan

GO?

14

SRS(Pflichtenheft)

Softwaretechnologie II

Planning of the Project Management

► In the feasibility study, a preliminary planning of the project is done► See Course “Software Management” in SS

► Planning► Staffing► Organizing► Directing► Control

© P

rof.

U. A

ßm

ann

Requirements Analysis

Feasibility Study(Vorstudie)

Product concept(Lastenheft)

Project plan

Cost plan

Risik plan

GO?

15

SRS(Pflichtenheft)

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Softwaretechnologie II

10.2 REQUIREMENTS ANALYSIS

© Prof. U. Aßmann 16

Softwaretechnologie II

From the Product Definition to the Design©

Pro

f. U

. Aß

man

n

EnvironmentAnalysis

Stakeholders

Domain Model

Problem Model

Goal Model

RequirementsSpecification

TextualRequirements

Use Cases

System Analysis

Context(Interface)Model

Top Level Architecture

Architectural Design (Architekturentwurf)

Detailed Design (Feinentwurf)

17

Softwaretechnologie II

Environment Analysis (Why?) (preparatory requirements analysis)

An Overview of Requirements Analysis©

Pro

f. U

. Aß

man

n

(“real”) Requirements Analysis (What?)

Domain Model

Functional Reqs

Context Model

System Analysis (By What?)

Top-level Architecture

GUI PrototypeNon-functional Reqs

Reuse

Feasibility Study(Vorstudie)

18

Design

Softwaretechnologie II

Analysis in Detail©

Pro

f. U

. Aß

man

n

Stakeholder Analysis(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis

GUI Analysis(Nutzergruppen)

Quality Analysis(Non-functional Req.)

Function Analysis(Use Case)

Context Model Analysis

Top Level ArchitectureAnalysis

Acceptance CriteriaAnalysis

Project Task Planning Acceptance Test

Domain Model

Goal Model

Funct. Req. Non funct. Req. GUI Prototyp

Context (Interface) Model

Top level Archi. Acceptance Tests

system analysis

19

Softwaretechnologie II

General Rules for Requirements Analysis

Ø Problems, goals, functional, and non-functional requirements should be distinguished!

Ø You should always work problem oriented, start from the problem of the customer Ø And come from problems to goals and requirements.

Ø Parts of system analysis:Ø Stakeholder analysis Who?Ø Domain analysis Which language do we speak?Ø Problem analysis (Is-Analysis) Why? Ø Goal analysis (objective) To which end? Ø Requirements analysis What? Through What?Ø Acceptance criteria analysis When ok?

Ø "The goal of system analysis is to fix the desires and requirements of the client, to analyse and to model them." [Heide Balzert]

© P

rof.

U. A

ßm

ann

20

Softwaretechnologie II

Documents©

Pro

f. U

. Aß

man

n

Environment

SoftwareRequirementsSpecification

Contract

Product (system)definition

Problem Model

Goal Model

Non funct. Req.

GUI Prototyp

Context (Interface) Model

Top level Archi.

Acceptance Tests

Funct. Req.

Domain Model

Stakeholder ModelPrice

Requirements

21

Softwaretechnologie II

Inhalte eines Vertrags

Ø PflichtenheftØ Produktdefinition

Ø Anforderungsspezifikation (das WAS)Ø Nutzermodell (stakeholders)Ø DomänenmodellØ Funktionale AnforderungenØ Problemmodell, Zielmodell, Nicht-funktionale Anforderungen

Ø Fachliches Modell (das WIE, das der Kunde wissen muss)Ø Kontextmodell (Schnittstellenmodell)Ø GUI-PrototypØ Top-level-Architektur

Ø Akzeptanztestfälle: Ø Messbare Akzeptanzkriterien, die bei der Abnahme vom Kunden abgehakt

werden können. Ohne bestandenen Akzeptanztest keine Bezahlung!Ø Preisliche Regelung

Ø Achtung: In der Literatur wird der Begriff “Analysemodell” sowohl für die Produktdefinition als auch nur für das fachliche Modell verwendet!

© P

rof.

U. A

ßm

ann

22

Softwaretechnologie II

Results of Environment Analysis (Why?)

Ø Stakeholder model: Model for stakeholders of thesystem

Ø Domain model: Terminology of the domain

Ø Problem model: Problem world of the users andstakeholders

Ø Objective (goal) model: Goals

© P

rof.

U. A

ßm

ann

Stakeholder Analysis(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis

Domain Model

Goal Model

23

Problem Model

Softwaretechnologie II

Results of Requirements Analysis (What?)

Ø Functional requirements specify the functional essence of the system

Ø Non-functional requirements (NFR, quality requirements) specifyqualities of the functionsØ User NFR

Ø Speed, load, transactions per secondØ Developer NFR

Ø MaintainabilityØ Extensibility

Ø Managment NFRØ CostØ Return on Investment (ROI)

© P

rof.

U. A

ßm

ann

24

Softwaretechnologie II

Results of System Analysis: (By What? What the Customer Should Know)

Ø Context model: interfaces of the systemØ Input and output channelsØ Forms and pagesØ Queries and reports

Ø GUI Prototype: Look and feel of the user interfaceØ Top-level Architecture

© P

rof.

U. A

ßm

ann

25

Softwaretechnologie II

10.2.2 STEPWISE FORMALIZATION OF THE REQUIREMENTS

© Prof. U. Aßmann 26

Softwaretechnologie II

Stepwise Formalization of Textual Requirements

Specifications of requirements can start with text (informal) and step by step formalized to models:Ø Free form textØ List of itemsØ Tree of items

Ø Mind mapØ Ordered TreeØ Unordered tree

Ø DagØ Graph-based model

Ø ..

RepresentationOf Model

List Free-Form Text

Tree Dag Graph

Informal tree

Formal tree

Unordered treeOrdered tree

ReducibleGraph

OverlaidGraph

Mind-map Zeilenhierarchie(line hierarchy)

Widget tree

27

Softwaretechnologie II

Hierarchic Organization: Mind-Maps for Initial, Tree-Based Models

Ø Tools offers simple brainstorming of items, simple structuring into treesØ Tool kdissert from KDE:

© P

rof.

U. A

ßm

ann

28

Softwaretechnologie II

Stakeholder Analysis

Ø It is important to find all stakeholders of the system (Nutzer, Beteiligte, Involvierte, Betroffene)

Ø Stakeholders have specific problems and also goals for the system, which can be quite differentØ Analyzing problems and goals for the different pairs of stakeholders separately is very

important to discover goal conflictsØ Analysis on the graph of n stakeholders with n^2 relationshipsØ Goal conflicts will sabotage all project efforts (stakeholders work against each other)Ø Compromises have to be found (stakeholder mediation)

Ø Distinguish actors (users), cooperating systems, and other stakeholdersØ Specify personas (typical user groups) and their goalsØ Example: Fiscus project of German finance authorities

Ø Stakeholders (tree): Ø End-users: tax payersØ In all Deutsche Länder

Ø Finance ministerØ Finance department Ø IT-departments

© P

rof.

U. A

ßm

ann

29

Softwaretechnologie II

Mediation between Stakeholders' Goals

Ø Often, goals of different stakeholders are in conflict in the Stakeholder net. We need goal negotiations

Ø Show to the other stakeholder:Ø Consequences of goals for the other stakeholder

Ø Advantages and disadvantagesØ Consequences for you

Ø Try to find a compromise

© P

rof.

U. A

ßm

ann

“Es ist unmöglich, jemanden von einer Idee zu überzeugen. Man kann ihm nur helfen, selbst die Idee zu bekommen.”

30

Softwaretechnologie II

Example: Stakeholders of a Fictitious Course Management System

Ø Scenario:Ø CMT (Gesellschaft für Course ManagemenT) is a university-owned company

responsible for industrial courses. It wants to construct a course management system for courses, given to the industry, alumni, and to students

Ø Users (actors): Ø Student: wants to get a diploma. Doesn't want to pay.Ø Engineer from industry: wants to learn, but also “escape” the company. Payment

doesn't matter, company pays.Ø Alumnus, wants to learn something new and to meet old acquaintances againØ Professors: teach courses, want to learn or be inspired from discussions

Ø UniversityØ Chancellor: wants the success of the CMTØ Professors: similarØ Assistants: dislike the course management system because they want to give the

courses at the university (not over CMT)Ø University administration:

Ø Might not want the CMT, because it is a competing organizationØ CMT:

Ø Wants to earn money with the course system

© P

rof.

U. A

ßm

ann

31

Softwaretechnologie II

Domain Analysis

Ø The domain analysis creates a domain model of the domain of the application:Ø A glossary (vocabulary of concepts, terms)Ø A taxonomy (hierarchical organisation of terms in an inheritance hierarchy:

Begriffshierarchie)Ø A vocabulary with relations (a graph-based domain model)Ø A vocabulary with constraints (an ontology)

Ø The domain analysis is importantØ For understanding the customer: requirements are phrased in the vocabulary of the

domainØ The domain model captures everything the customer will understand about the

system. Hence, it is an important interface between customer and engineerØ In particular for product lines (see later). Domain models

© P

rof.

U. A

ßm

ann

32

Softwaretechnologie II

Example: Domain Model of a Course Management System

Ø Constraints:Ø Teacher != StudentØ Company == CMTØ Alumnus doesn't have exams

© P

rof.

U. A

ßm

ann

Teacher

Participant

Company

Course

CoursePart

Exercise

Exam

Student Engineer Alumnus

33

Softwaretechnologie II

Domain Model as First Part of the Software Product©

Pro

f. U

. Aß

man

n

Domain Vocabulary or Model

• Domain vocabulary perhaps with relations

Analysis Model

• Specifications for requirements of a system (SRS)

Design Model

• Additions for the technical design of the system (SDS)

Implementation

• Adding implementations of all parts

34

Softwaretechnologie II

Domain Models with Ontology Reuse©

Pro

f. U

. Aß

man

n

Domain Ontology

• Domain vocabulary as ontology with relations and constraints (standardized)

Analysis Model

• Specifications for requirements of a system (SRS)

Design Model

• Additions for the technical design of the system (SDS)

Implementation

• Adding implementations of all parts

35

Softwaretechnologie II

Course Management System: Reuse of Ontological Terms©

Pro

f. U

. Aß

man

n

Teacher

Student

Company

Course

CoursePart

Exercise

Exam

Teaching ontology

Business ontology

Analysis model

extensionsTeacher

Student

Company

Course

attends()

teaches()

countStudents()

36

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Softwaretechnologie II

10.3 HIERARCHICAL PROBLEM-GOAL-FUNCTION ANALYSIS

Problem-Objective-Oriented Project Planning (POPP)

Zielorientierte Projektplanung (ZOPP)

© Prof. U. Aßmann

Stakeholder Analysis(Nutzergruppen) Problem Analysis

GoalAnalysis

DomainAnalysis DomainModel

GoalModel

Function Analysis

QualityAnalysis

Acceptance Analysis

37

Softwaretechnologie II

The Hierarchical Problem-Goal-Function Analysis –A Simple Development Process

ZOPP origins from the GTZ (German development society), here adapted to software development

1. Stakeholder analysis (see before)2. Problem analysis (Situation analysis, Ist-Analyse)3. Goal analysis (objectives analysis, Soll-Analyse)4. Functional requirements analysis5. Non-functional requirements analysis (quality requirements

analysis)6. Success criteria analysis7. Construction of acceptance tests (Acceptance tests analysis)

© P

rof.

U. A

ßm

ann

38

Softwaretechnologie II

General Rules for Problem Analysis

Ø What is the problem? Why do we need the system?Ø Problem analysis (IS analysis, IST-Analyse) is necessary, since the problem is

not understood (and hence the requirements)Ø Without problem, no goalØ Without goal, no requirementsØ Without requirements, no success criteriaØ Without success criteria, no measurable successØ We need to know the core problems

• And distinguish from sub problems• è Problem hierarchy

© P

rof.

U. A

ßm

ann

39

Softwaretechnologie II

10.3.1. Problem Analysis: How To Develop a Problem Hierarchy

Ø Problem hierarchy: The main problem should be decomposed into smaller onesØ Resulting in a problem tree

Ø Steps:• Phase 1: problem hierarchy

Ø Brainstorming to collect problems and problem domains (collection phase)Ø Using a mind map or a tree tool is possibleØ Identification of the main problemØ Elaborate a problem tree: arrange main and sub problems.

• Phase 2: cause-effect analysisØ Identify the reasons for the main problem (they are more important)Ø Identify root causes for the problems (they are most important)Ø Identify the consequences of the main problem

• Phase 3: prioritizationØ Prioritize subproblemsØ Check whether the hierarchy is

complete and consistent

© P

rof.

U. A

ßm

ann

40

Softwaretechnologie II

Course Management System: Problem Analysis for User CMT

► Problems must be arranged in super- and sub problems, decomposing on reasons (reason hierarchy)

Courses are notprofessionally organized

Course Announcementsare not regularly

updated on the webCourse registrations

get lostCourse feedback

is lost

CMT doesnt earn enough moneywith courses

Registration is distributed over

institutes

Professors don’t have

time to writefeedback reports

CMT employeesdont know how to

edit web pages

CMT has too fewcourses

41

Softwaretechnologie II

Root Cause Analysis

Ø Problems can be decomposed by asking “Why”-questions

© P

rof.

U. A

ßm

ann

Courses are notprofessionally organized

Course Announcementsare not regularly

updated on the web

Course registrationsget lost

Course feedbackis lost

CMT doesnt earn enough moneywith courses

Registration is distributed over institutes

Professors dont havetime to write

feedback reports

CMT employeesdont know how toedit web pages

CMT has too fewcourses

Why does CMT have too few courses?

Why does CMT not earn enough money with courses?

Why are courses not professionally organized?

Why are announcements not updated? Why do registrations get lost? Why is feedback lost?

http://en.wikipedia.org/wiki/Root_cause_analysishttp://eliminatethemuda.com/2010/02/why-cant-i-save-money/

42

Softwaretechnologie II

Problem Reasons and Problem Consequences

Ø It can also be distinguished between a hierarchy of “reasons” and a hierarchy of “consequences” (cause-effect, Ursache vs. Wirkung)

Ø Cause Hierarchy (in Root-Cause Analysis)Ø Sub problem is reason for super problem

Ø Consequence Hierarchy (in Root-Effect Analysis)Ø Subproblem is consequence of super problem

Ø Cause-and-Consequence model form together the cause-effect graph

© P

rof.

U. A

ßm

ann

43

Softwaretechnologie II

Course Management System: Cause-Effect Analysis for User CMT

► Separate between reasons and consequences: n Build separate reason and consequence hierarchiesn Build up cause-effect graphn Focus later on causes, because effects are secondary

© P

rof.

U. A

ßm

ann

Courses are notprofessionally organized

Course Announcementsare not regularly

updated on the web

Course registrationsget lost

Course feedbackis lost

CMT doesnt earn enough moneywith courses

Registration is distributed over

institutes

Professors donthave

time to writefeedback reports

CMT employeesdont know how toedit web pages

CMT has too few

courses

Courses are unsatisfactoryfor customers

CMT is in danger ofresolution

CMT employeesare not busy

Customers complain about

lack of information

44

Softwaretechnologie II

Courses are notprofessionally organized

Course Announcementsare not regularly

updated on the web

Course registrationsget lost

Course feedbackis lost

CMT doesnt earn enough moneywith courses

Registration is distributed over

institutes

Professors donthave

time to writefeedback reports

CMT employeesdont know how toedit web pages

CMT has too few

courses

Courses are unsatifactoryfor customers

CMT is in danger ofresolution

CMT employeesare not busy

Customers complain about

lack of information

Course Management System: Problem Prioritization

► Go over the problem trees, the cause-effect graph and prioritize► Importance is different from containment and problem decomposition

© P

rof.

U. A

ßm

ann

5

312

4 3

2

45

Softwaretechnologie II

How to Phrase Problems

Ø Problems should be phrased negativelyØ Problems should not be intermixed with goals, requirements, nor solutions

Ø A problem is characterized not by the nonexistence of a solution, but by a negative stateØ By a bad feelingØ Negative commentsØ Doubts

Ø Try to separate reasons and consequences (causes and effects)

Ø A good problem analysis is half of the solution!Ø Problems generate money

© P

rof.

U. A

ßm

ann

46

Softwaretechnologie II

10.3.2 Goal Analysis (Objectives Analysis)

► Starting from the problems and sub problems of the problem hierarchy, the goal hierarchy is developed (Sollanalyse, Zielanalyse)n All negative statements of the problem hierarchy should be transformed into a

goal statementn Every sub problem must relate to a sub goal (isomorphic mapping)n 4-6 sub-goalsn All sub-goals of a goal are equally importantn But can be prioritized (goal weight)

► Check completeness and correctness► Create a dependency graph of goals

© P

rof.

U. A

ßm

ann

Stakeholder Analysis(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis Domain Model

Goal Model

47

Softwaretechnologie II

Important for Goals

Ø Goals have dependencies:Ø Conflicting, independent, or complementary

Ø Goals underlie a part-of relationØ Main goals: the goal that the stakeholder wants to achieve

Ø Often, but not always: the goal the system should achieveØ Sub goals: partial goals that serve the main goal

Ø Goals have a time dimensionØ Intermediate goals: describe the features that must be achieved on the way to

the result goalsØ Result goals: final goals

Ø Goals differ in their obligationØ Desirable goals (SHOULD)Ø Obligatory goals (MUST)Ø Additional goals (MAY)Ø Non-goals (NEVER)

Ø Goal prioritization should comply to problem prioritizationØ Goal priority order can be derived from problem prioritization

© P

rof.

U. A

ßm

ann

48

Softwaretechnologie II

Courses are notprofessionally organized

Course Announcementsare not regularly

updated on the web

Course registrationsget lost

Course feedbackis lost

CMT doesnt earn enough moneywith courses

Registration is distributed over

institutes

Professors donthave

time to writefeedback reports

CMT employeesdont know how toedit web pages

CMT has too few

courses

Courses are unsatifactoryfor customers

CMT is in danger ofresolution

CMT employeesare not busy

Customers complain about

lack of information

Problem Trees with Causes and Effects (Rpt)©

Pro

f. U

. Aß

man

n

5

312

4 3

2

49

Softwaretechnologie II

Course Management System: Goal Analysis for User CMT

Ø From reasons and consequences, goals can be derived

© P

rof.

U. A

ßm

ann

Coursesprofessionally organized

Course Announcements

are monthlyupdated on the web

Course registrationsare collected in a

database

Course feedbackis collected in a database

CMT earns 100% more moneywith courses

Registration is central at CMT

Professors need not write

feedback reports

CMT employees get a simple form-based

editing interface

CMT has 100%more courses

70% of customersare satisfied

CMT can survive

CMT employeesare occupied 80%

50% of customersreturn to other courses

50

Softwaretechnologie II

Coursesprofessionally organized

Course Announcements

are monthlyupdated on the web

Course registrationsare collected in a

database

Course feedbackis collected in a database

CMT earns 100% more moneywith courses

Registration is central at CMT

Professors need not write

feedback reports

CMT employees get a simple form-based

editing interface

CMT has 100%more courses

70% of customersare satisfied

CMT can survive

CMT employeesare occupied 80%

50% of customersreturn to other courses

Course Management System: Goal Prioritization

Ø Goal priorities are derived from problem priorities

© P

rof.

U. A

ßm

ann

5

12

4 3

2

51

Softwaretechnologie II

How To Phrase a Goal

Ø Positively:Ø A goal should not revive sentiments. Don't phrase it negatively

Ø Attractive or motivating:Ø The goal should drive the stakeholders and developers, not demotivate themØ [Merkel 2011: Germany lives of natural energy in 2022]

Ø Comprehensible:Ø A misunderstood goal is worse than none

Ø Easy-to-overlook:Ø Too complex goals make life difficult

Ø Objectively:Ø Try to think about other stakeholders, what they might be interested in. Try to phrase goals

objectivelyØ Realistically:

Ø The stakeholder should be able to reach the goal

© P

rof.

U. A

ßm

ann Stakeholder Analysis

(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis Domain Model

Goal Model

52

Softwaretechnologie II

Analysis in Detail©

Pro

f. U

. Aß

man

n

Stakeholder Analysis(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis

GUI Analysis(Nutzergruppen)

Quality Analysis(Non-functional Req.)

Function Analysis(Use Case)

Context Model Analysis

Top Level ArchitectureAnalysis

Acceptance CriteriaAnalysis

Project Task Planning Acceptance Test

Domain Model

Goal Model

Funct. Req. Non funct. Req. GUI Prototyp

Context Model

Top level Archi. Acceptance Tests

53

Softwaretechnologie II

10.3.3 Functional Requirement Analysis

Ø From the goal analysis result the functional, non-functional and semi-functional requirementsØ If all requirements are fulfilled, goals are reached and the problems are solvedØ Construct a requirements tree from the goal tree

Ø Goals are unlike requirements:Ø Requirements are desired features of the system to solve the problems and to

achieve the goalsØ Not all goals can be transformed into functions of the system. A manifestable

goal is a goal that can be manifested in the functional requirementsØ Functional requriements specify the functional essence of the system

• What should be system do? (not the HOW)• Identifiable (keys, numbers)• Notations: Natural language texts

§ use case diagrams§ Semi-natural language texts§ Function trees§ Function nets§ data flow diagrams (DFD)§ Petri nets§ Logic (predicate logic, temporal logic)

© P

rof.

U. A

ßm

ann

54

Softwaretechnologie II

Course Management System: Function Analysis for User CMT

Ø From goals, some preliminary functions can be derived• Separate quantifiable goals from others• Quantifiable goals are arranged in a function tree

Ø Question: do we have non-functional requirements for the CMS?

© P

rof.

U. A

ßm

ann

Coursesprofessionally organized

Course Announcements

are monthlyupdated on the web

Course registrationsare collected in a

database

Course feedbackis collected in a database

CMT earns 100% more moneywith courses

Registration is central at CMT

Professors need not write

feedback reports

CMT employees get a simple form-based

editing interface

CMT has 100%more courses

70% of customersare satisfied

CMT can survive

CMT employeesare occupied 80%

50% of customersreturn to other courses

55

Softwaretechnologie II

Function Trees of the Course Management System

Ø Function trees result

© P

rof.

U. A

ßm

ann

Coursesprofessionally organized

Course Announcements

are monthlyupdated on the web

Course registrationsare collected in a

database

Course feedbackis collected in a database

Registration is central at CMT

Professors need not write

feedback reports

CMT employees get a simple form-based

editing interface

56

Softwaretechnologie II

Analysis in Detail©

Pro

f. U

. Aß

man

n

Stakeholder Analysis(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis(Nutzergruppen)

GUI Analysis(Nutzergruppen)

Quality Analysis(Non-functional Req.)

Function Analysis(Use Case)

Context Model Analysis

Top Level ArchitectureAnalysis

Acceptance CriteriaAnalysis

Project Task Planning Acceptance Test

Domain Model

Goal Model

Funct. Req. Non funct. Req. GUI Prototyp

Context Model

Top level Archi. Acceptance Tests

57

Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie – Prof. Aßmann - Softwaretechnologie II

10.3.4 Analysis of Non-Functional Requirements (Quality Requirements)

© Prof. U. AßmannFolie

58

Softwaretechnologie II

Categories (Facets) of Requirements (from Martin Glinz)

Categories of Requirements

Representation• Operational• Quantitative

(measurable)• Qualitative• Declarative

Satisfaction• Hard• Soft

Kind• Function• Data• Performance• Specific Quality• Constraint• Semi-Functional

© P

rof.

U. A

ßm

ann

[M. Glinz. Rethinking]

59

Softwaretechnologie II

Functional, Semi- and Non-Functional Requirements (Quality Analysis)

Ø Functional requirements make the software system "fit for purpose" Ø Are boolean k.o.-criteria

Ø Non-functional requirements(NFR, “ilities”) describe quality featuresand can be multi-classified Ø NFR are related to a stakeholder

(developer, user, maintainer,..): stakeholder facet

Ø Development qualitiesØ Usage qualities (for users)Ø Manager qualities

Ø NFR should be measured with measurements (quantitative scales) i.e, have a measurability facet

Ø Measurable, Empirical, PaperwareØ Efficiency Reuirements are NFR

which relate utility with cost (cost-utility function)

© P

rof.

U. A

ßm

ann

Ø Semi-functional requirements are vital non-functional requirements, i.e., turn NFR into functional requirementsØ ReliabilityØ Robustness: system doesn't breakØ Efficiency: system shows sufficient

throughputØ UsabilityØ Resource constraints can be met

Quality Analysis(Non-functional Req.)

Function Analysis(Use Case)

Funct. Req.

Non funct. Req.

60

Softwaretechnologie II

Categories (Facets) of Non-Functional Requirements

Categories of NFR

Stakeholder

Measurability

Cost-Utility Relation

(Economic)

© P

rof.

U. A

ßm

ann

61

Softwaretechnologie II

10.3.4.a Stakeholder Facet for Non-Functional Requirements

Ø Development qualities (for developer, Entwicklerqualitäten)Ø Reusability (Evolution quality)

Ø Variability: from the system, easily other variants can be produced

Ø Extensibility: the system can be extended easily

Ø Portability: the system can be ported to new platforms easily

Ø Evolvability: the system can evolve easily (well documented, stable concepts)

Ø Middleware scalability: easy to use in parallel, persistent, distributed, changing contexts

Ø Business qualities (for manager, Geschäftsqualität)Ø Market attractivityØ Good return on investment (ROI)Ø Sustainability (Nachhaltigkeit)Ø Good markets

© P

rof.

U. A

ßm

ann

Ø Usage qualities (for user, at run time, Benutzungsqualitäten)Ø Usability: it is easy to use the

systemØ Invisibility: user can't notice the

(embedded) systemØ Security: system resists against

attacksØ Safety: system doesn't destroy

things (safety-critical systems)Ø Personalizability: system can be

adapted to users or contextsØ Resource constraints: real-time

conditions are met, memory or energy consumption conditions

Ø Performance: how good is the performance?

Ø Efficiency (cost-utility relation): how cost-efficient is the performance?

Ø Result quality: how good is the result?

62

Softwaretechnologie II

10.3.4.b Measurability Facet for Non-functional Requirements

Ø Non-measurable quality• Paperware quality: paper persuades that quality exists• Slideware quality: material works for a presentation, but not for more

Ø Verifiable quality: a specification exists, against which the quality feature can be verified • A metric scale exists

§ E.g., time deadline in real-time behavior• A threshold decides whether the requirement is met

§ Ex.: “system will react within 5ms”Ø Measurable quality: a quantitative scale exists

• Cardinal scale (Kardinalskala, metric): ex. • Inverval scale (Intervallskala, metric, but in pairs)• Ratio scale (Verhältnisskala): Interval scale with origin point (Nullpunkt). Verhältnisse

dürfen gebildet werden.• Absolute scale (Absolutskala): Absolute values• http://de.wikipedia.org/wiki/Skalenniveau

Ø Categorial quality• Nominal scale (non-metric, Notenskala mit Kategorien, Güteklassen, Noten, Enumeration)• Ordinal scale (Ordinalskala, Rangordnung), for prioritizations

Ø Empirical quality: empirical experiments can show the quality© P

rof.

U. A

ßm

ann

63

Softwaretechnologie II

Measurability needs Scales

Remark OperationsCategorial Nominal Enums, Traffic

lightEquality (=, !=)

Ordinal School grades Dto., comparison(<, >), median

Cardinal(metric)

Interval Time, dates Dto., median, average

Rational(Verhältnis)

Brüche, Percentages

Dto. Geom. average

Absolute Absolute vlues Eq., comp., 0-point

© P

rof.

U. A

ßm

ann

[Wikipedia Skalenniveaus]

64

Softwaretechnologie II

10.3.4.c Economic Facet: Olympic vs. Efficiency NF-Requirements

Ø A measurable NFR has an economic facet, it can be olympic or efficiency-based:

Ø An olympic (utility) requirement measures the utility of a system feature

Ø An efficiency requirement measures the utility-cost ratio of a system feature (cost-utility relation or function)

© P

rof.

U. A

ßm

ann

65

Softwaretechnologie II

Efficiency NFR (Efficiency Quality)

Ø Efficiency describes the relation between cost and utility (resource consumption and produced utility) by a cost-utility function

Ø Efficiency in general describes the extent to which time or effort is well used for the intended task or purpose. • It is often used with the specific purpose of relaying the capability of a specific

application of effort to produce a specific outcome effectively with a minimum amount or quantity of waste, expense, or unnecessary effort. (Wikipedia)

Ø Ex.: 1000 frames per second (utility)

1 Ghz clock rate and 10ms access time for disk (cost)

© P

rof.

U. A

ßm

ann

66

Softwaretechnologie II

Ct. Measurable Efficiency NFR: „Efficiency Qualities“

Ø An efficiency quality (efficiency requirement) is a measurable non-functional requirement of a system that obeys a cost-utility function(CUF)

Ø Examples:• Performance: cost: processor price, utility: Gigahz• Soft real-time: cost: number of cores, utility: time• Throughput: cost: number of servers, utility: transactions per second

Ø Cost-utility functions can be continuous:• linear,

Ø point-wise definedØ piecewise defined (streckenweise definiert)

© P

rof.

U. A

ßm

ann

Ex:.: Energy-Utility-Function is usually piecewise defined:Depends on Applications, Resources, Context

67

Softwaretechnologie II

Example Scenario: Efficiency Quality forWeb Conferences

Internet Web Conferencing

Telepresence Holographic Web Conferencing

P2P VideoConferencing IP Phone Call

UtilityUtility

UtilityUtility

© P

rof.

U. A

ßm

ann

68

Softwaretechnologie II

Example: A Technical Innovation of SFB 956 HAEC:Architectural Energy-Autotuning on Efficiency Qualities

Energy Contract Checking

• Does the system deliver its energy/utility promises?

Energy Contract

Negotiation

• Which variant of the system delivers the energy/utility promises?

Energy Autotuning

• With code updating

• Size-adaptive• Algorithm-

adaptive• Based on

constraint optimization

Architectural Energy

Autotuning

• On the right grain size

• Architectural skeletons

© P

rof.

U. A

ßm

ann

http://www.tu-dresden.de/exzellenz/exzellenzcluster/exz_cfaed/index.htmlhttp://www.tu-dresden.de/cfaed/homehttp://www.tu-dresden.de/cfaed/research_programhttp://www.tu-dresden.de/forschung/forschungskompetenz/sonderforschungsbereiche/sfb912

69

Softwaretechnologie II

10.3.5 The Context (Interface) Model

Ø The context model (interface model) describes the interfaces of thesystem to the outer worldØ Input and output streamsØ Input formsØ Output queriesØ Typed by the domain model (data dictionary)

Ø Representations:• Class diagrams with functions and their contracts• Data flow diagrams• Colored Petri nets• Function trees and modules

© P

rof.

U. A

ßm

ann

70

Softwaretechnologie II

10.3.6 Success Criteria Analysis

Ø The success criteria analysis finds out when a project will be accepted. Ø It is basis for selling the product, or the acceptance test of the product

Ø The success criteria list contains a mandatory list of measurable functional, non-functional, and semi-functional requirementsØ A success criterion can be measured (boolean, metric, ...)

Ø Functional requirements are booleanØ “Does the system print all GUI?”

Ø Non-functional requirements are metricØ Performance criteria: “the user should not wait more than 1 sec”Ø Stress criteria “500 users should be possible”

Ø Mandatory test cases, often derived from mandatory use cases or function trees (acceptance test cases)

Ø Usability considerations (Can the system be used easily?)Ø Architectural considerations (Does the client want to evolve the system himself?

Then the architecture must be easy to comprehend)

© P

rof.

U. A

ßm

ann

71

Softwaretechnologie II

Course Management System: Success Criteria Analysis for User CMT

Ø Success criteria must be measurable: Boolean or Quantitative

© P

rof.

U. A

ßm

ann

boolean quantitative

Course managementsystemrunning

Course Announcementsservice (servlets)

exists

Registration moduleworks

Course feedbackdatabaserunning

CMT earns 100% more moneywith courses

Registration server atCMT

installed

Automaticfeedback reports

(optional)

Form-basedediting interface

exists

CMT has 100%more courses

70% of customersare satisfied

CMT can survive 5 years

CMT employeesare occupied 80%

50% of customersreturn to other courses

72

Softwaretechnologie II

10.3.6 Course Management System: Acceptance Tests

Ø Acceptance tests are developed out of the success criteria, showing that they are fulfilled.Ø Not all success criteria are acceptance test criteria; success criteria lead to acceptance

test criteriaØ They are conducted after installation of the system at the client. Passing

them means that the contract is fulfilledØ Hence, they must be measurable: Boolean or Quantitative, with size of test data

suitesØ Are numbered /ATxx/

© P

rof.

U. A

ßm

ann

Course management systemrunning under load (10 course

bookings simultaneously, 100 courses, )

Course Announcementsservice (servlets)

exists (100 courses)Registration module

works (workflow tested)

Course feedback databaserunning (10 feedback

entriessimultaneously)

Registration server atCMT installed

(mass data test suite passed)

Automaticfeedback reports

(optional)

Form-basedediting interface

exists (edit scripts replay suite)

73

Softwaretechnologie II

10.4 SOFTWARE REQUIREMENTS SPECIFICATION (SRS)

© Prof. U. Aßmann

Softwaretechnologie II

Software Requirements Specification (SRS)

Ø The result of the problem, goal, and requirements analysis is the software requirements specification (SRS, Anforderungs-spezifikation). Ø It replaces the feasibility studyØ It is part of the contract and binds legallyØ It describes desired features of the system

Ø Numbering of requirements, e.g, withØ Functional /Fxx/Ø Quality /NFxx/, /Qxx/ with scales and thresholdsØ Semi-functional /Sfxx/Ø Success criteria /Sxx/Ø Acceptance test criteria /ATxx/

Ø The SRS should be Ø Correct, Complete, Consistent (CCC). This should be validated (validation or

consistency checking)Ø Verifiable (measurable, clear success criteria)Ø Functional (what, not how)Ø Tractable in design and evolutionØ Simple to change and evolve

© P

rof.

U. A

ßm

ann

75

Softwaretechnologie II

Contents of the SRS

Ø The Software Requirement Specification (SRS) contains a list of things the system has to fulfill. Ø Example [Richard Fairley, Software Engineering] The structure can be different, e.g.,

Balzert has some other components

© P

rof.

U. A

ßm

ann

Ø Application model (Fachliches Modell)Ø Context model (interfaces of the system)

Ø I/O interfaces, data formats (screens, protocols, etc.), commands

Ø Data dictionary with data typesØ Top-level Architecture

ØOverview of data flow through systemPossible extensions of the system

Ø Success criteriaØ Acceptance test criteria Ø Acceptance test casesØ Other success criteria

Ø Documentation guidelines Ø Literature

Ø Content of the SRS:Ø Overview of Product

Ø Background, environment, platformsØ Environment model

Ø Stakeholders modelØ Domain model (at least glossary)Ø Problem modelØ Goal model

Ø RequirementsØ Functional requirements

ØUse cases, function trees, with priorities

Ø Non-functional requirements Ø Semi-functional requirementsØ Error handling

76

Softwaretechnologie II

Beware

Ø Requirement errors cost the most!Ø Because all actions depend on them, and must be undone if requirement is wrong

Ø Software engineers often mismodel domains, since they are no domain experts

Ø Customers will only pay if all acceptance tests are passed!

© P

rof.

U. A

ßm

ann

77

Softwaretechnologie II

Analysis in Detail©

Pro

f. U

. Aß

man

n

Stakeholder Analysis(Nutzergruppen) Problem Analysis

Goal Analysis

Domain Analysis(Nutzergruppen)

GUI Analysis(Nutzergruppen)

Quality Analysis(Non-functional Req.)

Function Analysis(Use Case)

Context Model Analysis

Top Level ArchitectureAnalysis

Acceptance CriteriaAnalysis

Project Task Planning Acceptance Test

Domain Model

Goal Model

Funct. Req. Non funct. Req. GUI Prototyp

Context Model

Top level Archi. Acceptance Tests

78

Softwaretechnologie II

Product Line Engineering (Produktlinien-Engineering)©

Pro

f. U

. Aß

man

n

Product line Engineering- Components- Frameworks (Rahmenwerke)

Product Engineering(Application Engineering)

(Domain-specific)Requirements Design Implementation

Domain-Analysis

(Product-specific)Requirements Design Implementation

Reuse

79

Softwaretechnologie II

10.5 REQUIREMENTS MANAGEMENT

© Prof. U. Aßmann

Softwaretechnologie II

Requirements Must Be Managed

Ø Once we got the specifications, they will changeØ Customers discover new thingsØ More details are discovered

Ø The SRS should stay “fixed” once and forever, but in collaboration with the customer be maintained and evolved.

Ø How to manage the requirements in the SRS?

© P

rof.

U. A

ßm

ann

81

Softwaretechnologie II

Answer of Extreme Programming

Ø Manage requirements as “story” cardsØ Muddy cards, with one requirement of the customer in plain textØ Sort them along prioritiesØ Realize one requirement at a time, then pick up the next oneØ Story cards are kept until the end of the project

Ø EvaluationØ Works only for small teams and project sizesØ Does not work if a product runs over years, and the developers change

© P

rof.

U. A

ßm

ann

82

Softwaretechnologie II

Scrum Manages Requirements with Backlogs©

Pro

f. U

. Aß

man

n

[Lakeworks]

Product Backlog = Features of product to be developed

Sprint Backlog = Tasks ofnext Sprint

14 days

83

Softwaretechnologie II

XP©

Pro

f. U

. Aß

man

n

[Michael Hüttermann]

84

Softwaretechnologie II

Answer in the V-Model

Ø Update the SRS every time another document is produced along the V, e.g., at the architectural design

Ø Publish it on a intranet web site, visible for all developers and the customerØ Maintain a cross-relationship between requirement lists and trees and passed

acceptance tests (to show the progress of the project)

© Prof. U. Aßmann

Pre-Study•Product concept catalogue(Lastenheft)

Requirements Analysis•Software Requirement Specification(SRS)

Achitectural Design•Architecture (Grobentwurf)

Detailed Design•(Feinentwurf)

Implementation

Acceptance Test

Installation, Beta Test

System Test (in-house)

Component, Subsystem Test

Contracts, Class Tests

System test cases

Unit testcases

Acceptancetest cases

85

Softwaretechnologie II

Professional Answer: Requirement management system (RMS)

Ø A requirement management system (RMS) maintains requirements in a database (repository) company-wide

Ø Customers can see the requirement database• Add new entries• Modify priorities of requirements• Add new entries for future releases• Add issues for bug fixes (maintenance)

Ø Company has to plan when the new requirements will be realized • Build road maps in which version (major, minor)

© P

rof.

U. A

ßm

ann

86

Softwaretechnologie II

What Have We Learned?

Ø Problem analysis is not goal analysis is not requirements analysisØ Stakeholders should be investigated separatelyØ Hierarchical grouping of problems, goals, requirements, and success

criteria is usefulØ Helps to sort the problems and to make stakeholder's goals clear

Ø Requirements stem from goals stem from problemsØ Success criteria must be defined to show when the project was completedØ Requirement errors are very costlyØ Requirements must be managed professionally

© P

rof.

U. A

ßm

ann

87

Softwaretechnologie II

The End©

Pro

f. U

. Aß

man

n

88