Modeling challenges: Model consistency (1) Dealing with inconsistent requirements models/specifications: –Caused by multiple sets of stakeholders (saying.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Observer Method 1. References Gamma Erich, Helm Richard, “Design Patterns: Elements of Reusable Object- Oriented Software” 2.
Ontologies - Design principles Cartic Ramakrishnan LSDIS Lab University of Georgia.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Introduction To System Analysis and Design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
SE 555 Software Requirements & Specification Requirements Management.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Model Eco-systems Decision Systems Lab University of Wollongong.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
Modeling challenges: Compliance (1/2) Compliance management has emerged as a major problem following major corporate governance scandals (e.g. Enron, WorldComm)
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Use Case Analysis – continued
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Course Instructor: Aisha Azeem
Arnhem Business SchoolJ.Vinke 2005 Human Resource Management (HRM) Plan guide on developing a practical HRM plan.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Developing Enterprise Architecture
Distributed Deadlocks and Transaction Recovery.
Introduction To System Analysis and design
Staff Structure Support HCCA Special Interest Group New Regulations: A Strategy for Implementation Sharon Schmid Vice President, Compliance and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.
2-Oct-15 Bojan Orlic, TU/e Informatica, System Architecture and Networking 12-Oct-151 Homework assignment 1 feedback Bojan Orlic Architecture.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
[ §3 : 1 ] 2. Life-Cycle Perspective Overview 2.1 Motivation 2.2 Waterfall Model 2.3 Requirements in Context.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Introduction To System Analysis and Design
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC October 20th Jae young George.
NI ©UNITEN 2000/01 1 Faculty of Applied Engineering and Urban Planning Software Engineering Department Class Diagram Faculty of Information system Technology.
Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.
Systems Analysis and Design in a Changing World, 6th Edition
Design Model Lecture p6 T120B pavasario sem.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Systems Engineering Simulation Modeling Maintenance Analysis Availability Research Repair Testing Training Copyright © 2009, David Emery & D&S Consultants,
CMSC 345 Use Cases. u Describes the system’s behavior under various conditions as the system responds to a request from one of the stakeholders, called.
1 SEQUENCE DIAGRAM EXAMPLE The domain model, showing the navigability of the associations, and the Reserve video (staff scenario) use-case description.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Software Requirements Specification Document (SRS)
1 Here are some quotations to get an overview of the kinds of issues of interest.
UML - Development Process 1 Software Development Process Using UML.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Exercising, Maintaining and Reviewing BCM Arrangements ERMAN TASKIN
COMPOSITE PATTERN NOTES. The Composite pattern l Intent Compose objects into tree structures to represent whole-part hierarchies. Composite lets clients.
International Workshop Jan 21– 24, 2012 Jacksonville, Fl USA INCOSE IW 2012 MBSE Requirement Flowdown Workshop - Outbrief - John C. Watson Principal Member.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Chapter 10: Process Implementation with Executable Models
Introduction To System Analysis and Design PART 2
Database Security Transactions
Software Verification, Validation, and Acceptance Testing
Chapter 5 Architectural Design.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Modeling challenges: Model consistency (1) Dealing with inconsistent requirements models/specifications: –Caused by multiple sets of stakeholders (saying contradictory things) –Caused by intrinsic contradictions within stakeholder viewpoints –Caused by the (occasionally) competing pulls of functional and non-functional requirements. Managing requirements evolution –Caused by changing problem domains –Caused by stakeholders changing their minds Dealing with non-functional requirements Inconsistencies may arise within sets of functional requirements and between functional and non-functional requirements

Types of inconsistency Semantic vs syntactic Intra-model vs inter-model Consistency conditions: –The existence of a model in the semantic domain (e.g., “can a sequence of message exchanges exist that conforms to this UML sequence diagram”?) –The satisfaction of a set of consistency rules (example below)

Inconsistency: Functional requirements (1/2)

Inconsistency: Functional requirements (2/2)

Inconsistency: Non-functional requirements (1/2)

Goals Maintain[SecureAccessPatientRecords] and Maintain[FastAccessPatientRecords] are inconsistent

Inconsistency in UML sequence diagrams (1/2) Call() Respond() What’s up?() Give mtg details() [for all participants] *Remind() Prompt() Show schedule() [decision=OK] ScheduleOK’ed() Initiator :Person Participant :Person [for all participants] *Inform() Staff :Person Scheduler :Person [for all participants] *Inform() Acknowledge() Time Acknowledge

A consistency rule A semantic consistency rule: An acknowledgement cannot be sent without a preceding message The sequence diagram on the previous slide violates this. The following slide displays a simple resolution of this inconsistency

Inconsistency in UML sequence diagrams (1/2) Call() Respond() What’s up?() Give mtg details() [for all participants] *Inform() [for all participants] *Remind() Prompt() Show schedule() [decision=OK] ScheduleOK’ed() Initiator :Person Participant :Person [for all participants] *Inform() Staff :Person Scheduler :Person Acknowledge() Time

Exercise Draw an i* model (an SD model + an SR model) that contains semantic inconsistencies (within each model) How would you resolve these? Modify this example to show an instance of inconsistency between an SD model and an SR model

Modeling challenges: Model consistency (2) The ideal specification Must tolerate inconsistencies Must support a domain-independent facility to make explicit the trade- offs involved when requirements must be discarded to make a specification consistent. Must support the distinction between essential and tentative requirements. Must make explicit the connection between a requirement and the conditions/assumptions/justification s that its satisfaction is contingent on. Must include some abstractions of system behaviour to enable analysis of boundary conditions (states of the environment/system behaviour that make otherwise consistent requirements inconsistent)

Exercise How would you modify the i* notation to address some of the issues in the previous slide?

Modeling challenges: Completeness How can we tell whether a requirements model/specification says all the things that it needs to say? How much information must a model contain?

Strategies for completeness checking Check completeness with respect to a vocabulary –Consider a requirements specification in propositional logic: (p  q). Given a vocabulary {p, q, r} we may deem the spec. to be incomplete (because it does not refer to r. The spec.: (p  q  r) may also be viewed as incomplete with respect to this vocabulary because it makes no commitment to the truth value of p, q or r. –The vocabulary can often be obtained from a domain ontology. Check completeness with respect to other models –Does the class diagram describe all of the objects described in the sequence diagram?

Exercise Devise an appropriate vocabulary (ontology) for the TRMCS domain, and assess the completeness of your i* models. Can you use an SD model as a completeness yardstick for an SR model and vice versa?

Modeling challenges: Change management The ideal evolution management tool: Must respond to a repertoire of change requests: add a requirement, remove a requirement, modify a requirement Must ensure that evolution steps involve minimal change to specifications. Must ``discard" requirements only after rigorous trade- off analysis (which would weigh the cost of discarding the requirement against the cost of ignoring the change request) Must never really ``discard" requirements, but must retain them in a background store in anticipation of future reuse. Must support a deferred commitment strategy, i.e., it must delay as much as possible any commitment to an outcome of the change process (since premature choices might turn out to be poor ones given new information)

Modeling challenges: Compliance (1/2) Compliance management has emerged as a major problem following major corporate governance scandals (e.g. Enron, WorldComm) and the resulting legislation (e.g. Sarbanes-Oxley Act) Cost of compliance management is very high Compliance software industry has become very large Most compliance software products are limited in functionality – primarily focusing on maintaining process transaction logs

Modeling challenges: Compliance (2/2) Compliance can be checked and enforced either at: –Run-time: By blocking non-compliant transactions, for example –Design-time: By checking design-time artefacts for compliance Can requirements models be checked for compliance, thus reducing the risk of implementing non-compliant systems? If found to be non-compliant, how can requirements models be modified to restore compliance?