CMSC 345 Fall 2000 Requirements Expression. How To Express Requirements Often performed best by working top- down Express general attributes of system.

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Software Requirements
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Alternative Approach to Systems Analysis Structured analysis
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Analysis Concepts, Principles, and Modeling
Analysis Modeling.
Compiler Principle and Technology Prof. Dongming LU Mar. 28th, 2014.
Capturing the requirements
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Application architectures
Requirements Analysis Concepts & Principles
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Software Requirements
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Describing Syntax and Semantics
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
The Software Development Life Cycle: An Overview
Chapter 5 – System Modeling
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements *
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
1 Introduction to Software Engineering Lecture 1.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
System Requirements Specification
Chapter 5 System Modeling (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Chapter 4 – System Modeling Lecture 1 1Chapter 5 System modeling.
1 Software Requirements Descriptions and specifications of a system.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
Chapter 5 – System Modeling
Requirements Specification
CompSci 280 S Introduction to Software Development
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 5 System modeling
Software Requirements
Chapter 5 – System Modeling
Copyright © Cengage Learning. All rights reserved.
System Modeling Chapter 4
Computer Programming.
Requirement Analysis using
Software Design Methodologies and Testing
Chapter 4 System Modeling.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
Presentation transcript:

CMSC 345 Fall 2000 Requirements Expression

How To Express Requirements Often performed best by working top- down Express general attributes of system at very highest level Express more specific attributes at subsequent levels

Expressing Requirements in Natural Language All stakeholders may not interpret meaning in same way – imprecise and ambiguous Requirements not always separable by system element – NL confuses tracing back from system characteristic to defining/affecting requirement(s) Need more rigorous and controlled formal notation – accompanying tools can check specification for completeness and consistency, and ease tracing and management

Static Descriptions Lists system entities or objects Lists their attributes, including functions performed by or to them Lists relationships with each other Does not describe how relationships change with time - thus static

Indirect Reference Define mathematical problem for system to solve No guarantee that solution exists Example: series of k equations in n variables

Recurrence Relations Specify initial condition Specify transformation from one condition to the next May be stated as recursive function or procedure Examples: Fibonacci numbers, artificial life

Axiomatic Definition Specify basic system properties (axioms) System behavior generates new properties (theorems) Requires complete and consistent set of axioms Examples: expert systems, abstract data types

Language Appropriate for systems that process sets of data strings Express acceptable strings as the syntax rules of a language Checking completeness and consistency can be automated (parsing) Examples: compilers, text processors

Data Abstraction, 1 Focus on data instead of functions Describe what data are for as well as their names and contents (forms) Data Dictionary: Categorize data and group like elements together Organized according to relationships and shared characteristics

Data Abstraction, 2 Explain permissible actions to different kinds of data States data can be in Operations to establish new states Probes to report information about a state

Student Student number Credit-hours Compute tuition In-state student Student number In-state rate Compute tuition Out-of-state student Student number Out-of-state rate Compute tuition

Dynamic Descriptions Describe how system reacts over time – thus dynamic - to events that change system behavior System considered to be in particular state until some stimulus causes change in state Try to describe all possible states and stimuli

Decision Tables Describe system as set of possible conditions satisfied at any given time Rules for reacting to stimuli when certain sets of those conditions are met Actions to be taken as result Tables may be very large: n conditions implies 2 n combinations of conditions Can eliminate redundant rules (covered by other rules), check that every possible set of conditions results in an action, and examine for consistency – detect and remove conflicting cases

R 1R2R3R4R5 High Exam ScoresTFFFF High Grades-TFFF Outside Activities--TFF Good Recommendations ---TF Send RejectionXXX Send AcceptanceXX

Transition Diagrams View system as set of states where system reacts to possible events Event may cause change to another state, or remaining in state but producing output Depict as diagram showing movement from one state to another Circle for each state in system For each input, directed arrow shows transition (may be to same state)

S1S1 S2S2 X (a) S1S1 S3S3 S2S (b)

(Null) Requested On waiting list Confirmed Used Canceled Archived

S1S1 S2S2 condition actions

NullRequested customer pays increment room count room request none ConfirmedOn waiting listUsedCanceledArchived room available decrement room count no room available put on list customer gives up remove from list customer cancels increment room count room available decrement room count customer moves in none

Event Tables Tabular form for states and transitions Treats states as “modes” Indicates system action responding to each event when in each mode Some configurations may not be possible

Event1Event2Event3 Mode1Action1Action2X Mode2XAction3, Action4 0 Mode30Action5Action6

Object Oriented Specification Sometimes more appropriate than a functional one. Focuses on the entities rather than the input/output transformations Objects and method descriptions are closely related with application domain

Data Flow Diagrams Consider the system as a transformer of data Show data that flow into the system, how they are transformed and how they leave the system Emphasis on flow of the data, not the flow of control

Physical exam Patient records Accounting records Physician Patient Accounting Medical experience and knowledge Diagnosis Symptoms Medication Bill List of tests, services performed Diagnosis Patient history Tests and services Prices