Ambiguity and Specificity

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
Ch 12: Object-Oriented Analysis
Ambiguity and Specificity Sriram Mohan/ Steve Chenoweth Chapters 23, 24 - Requirements Text 1.
Introduction to Software Engineering
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Lesson-21Process Modeling Define systems modeling and differentiate between logical and physical system models. Define process modeling and explain its.
Modelling information systems
Week 5: Business Processes and Process Modeling MIS 2101: Management Information Systems.
Use Case Modeling. Watch the video on use cases Review at minute 2:41-3:37.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
Ambiguity and Specificity Steve Chenoweth & Chandan Rupakheti Chapters 23, 24 - Requirements Text Questions 1, 2 Image from
1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.
Requirements Documentation CSCI 5801: Software Engineering.
SE: CHAPTER 7 Writing The Program
Conceptual Modelling – Behaviour
1 Introduction to Software Engineering Lecture 1.
CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?
UML-1 3. Capturing Requirements and Use Case Model.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Technical Methods for Specifying Requirements 1. When to Use Technical Methods  If the description of the requirement is too complex for natural language.
1 Using Rational Rose ® to construct UML diagrams.
1 Software Requirements Descriptions and specifications of a system.
Introduction to OOAD and UML
Requirements Specification
CompSci 280 S Introduction to Software Development
On Ambiguity and Specificity
Tools Of Structured Analysis
Technical Methods for Specifying Requirements
Chapter 5 System modeling
IT316 Software Requirement Engineering
Software Requirements
Chapter 5 유스케이스 개요 Introduction to Use Cases
Unified Modeling Language
Requirements Management
SOFTWARE REQUIREMENTS ENGINEERING
Part 3 Design What does design mean in different fields?
Structured Analysis and Dataflow Diagrams
Lecture 2 Introduction to Programming
Abstract descriptions of systems whose requirements are being analysed
Algorithm Algorithm is a step-by-step procedure or formula or set of instruction for solving a problem Its written in English language or natural language.
Introduction to Computer Programming
System Requirements Specification
COTS testing Tor Stålhane.
Information Systems in Organizations 2
Information Systems in Organizations 2
Unit# 9: Computer Program Development
On Ambiguity and Specificity
University of Houston-Clear Lake
Fundamental Test Process
Information Systems in Organizations 2
Dynamic Modeling Lecture # 37.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
COSC 4506/ITEC 3506 Software Engineering
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 11 Describing Process Specifications and Structured Decisions
Members: Keshava Shiva Sanjeeve Kareena
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Chapter 5 Architectural Design.
Basic Concepts of Algorithm
Lecture 23 CS 507.
Presentation transcript:

Ambiguity and Specificity Sriram Mohan

Problem Specification must be easy to understand and must be clear. Balancing the two might be difficult Must be easy enough for the client to understand Must be unambiguous for the developers When specifying requirements, you need to hit the sweet spot. It is the balance point between the greatest amount of understandability and the least amount of ambiguity. You have to make sure that it is detailed enough to be well understood by the developers, but at the same time, you must avoid getting into decisions that are clearly design decisions. The question then we have to answer is “how much should I state in order to avoid any chances of being misunderstood. Unfortunately, there is no clear answer to this question. It really depends on the situation and the project at hand.

Light Box Exercise After On pushed but before Off pushed system is termed “power on”. After Off pushed but before On pushed system is termed “power off”. Since most recent On press if count has been pressed an Odd/Even number of times, Odd/Even shall be lit. If either light burns out, the other shall flash every 1 second. Count On Off Even Odd Power This seems fairly straight forward, but lest us looks it from the perspective of a developer, what does it mean to flash the bulb every one second

On Off Duty Cycle A On Off Duty Cycle B 1 2 3 4 5 6 What level of specificity should be provided? It depends on the context of your application and on how well the developers can make the right decisions or at least ask questions where there is ambiguity. In case of the counting device, the way we have it specified is enough, but if it was a pacemaker, which had to provide a surge to the heart, then we have to be more specific. In that case, a timing diagram like the one above which exactly specifies must be included. Duty Cycle B 1 2 3 4 5 6

Techniques for Disambiguation How do we detect it? Memorization technique Emphasis technique How do we avoid it? Use natural language if possible Use pictures and diagrams to illustrate intent Communicate – When in doubt ask? Augment with technical specs End users, client and other stakeholders prefer that natural language is used, but keep in mind that people in different cultures and different countries might have a different interpretation of each word. For instance the simple word “check”

Technical Methods for Specifying Requirements Finite State Machines Technical method for specifying requirements are appropriate when the requirement description is too complex for natural language or if you cannot afford to have the specification misunderstood. Finite state machines: Think of your system as a hypothetical machine which can be in only in a discrete set of states. In response to an user input or an interaction with an input device, the machine changes its state and then generates an output or an action. The output and the action depends on the current state of the system and the event that caused the transaction. An even more precise form of representing FSM is to use a finite state transition matrix. Which shows every possible state of the device, and the effect of all possible events on every state.

Technical Methods for Specifying Requirements Decision Tables and Decision Trees Technical method for specifying requirements are appropriate when the requirement description is too complex for natural language or if you cannot afford to have the specification misunderstood. Decision Trees and flow charts can also be used.

Technical Methods for Specifying Requirements Entity Relationship Diagrams You will get extra credit for Milestone 3 if you develop an ER diagram.

Technical Methods for Specifying Requirements Pseudo code What is it? We will use it for our design phase in 371. For each function(s) that results from an use case, you must provide the following information Name Arguments Return Type You must also develop an architecture diagram.

System Architecture Diagram Bloomington Ford Database Ford Main Module Authentication Module DB Connector Module Exception Handler Module Utilities Generator Module Blue Log Module White Log Module Find Module Reports Module Maintenance Module Help Module List the functions by the module and map the use case to the module/functions. You can develop a package/class diagram if you prefer.