CS 451 Software Engineering

Size: px
Start display at page:

Download "CS 451 Software Engineering"

Transcription

1 CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings

2 Design Engineering A systematical way to translate SRS into design Start with use cases from SRS Find analysis classes from use cases Create CRC cards from use cases Refine CRC cards into UML class diagrams Different types of classes Architecture Design Interface Design Component Design Detailed/Data Design 2

3 From Use Cases to Class diagrams Step 1: Identify and assign candidate classes Step 2: Determine a set of specific scenarios Step 3: Walk through the scenario, naming cards and responsibilities 3

4 Step 1: Identify and assign candidate classes Read requirements specification. Highlight nouns and noun phrases to give candidate classes (excluding abstract nouns). Write each candidate class down on an index card. Assign each index card to one person who is participating in the CRC card modelling session.

5 Step 1: Identify and assign candidate classes Consists of classes of domain objects. Example: any ATM model will involve Card, BankAccount classes Names are important. Class identification is a key process for a good class model: noun identification; responsibility driven approach. 5

6 Noun identification Two stages: identify candidate classes by picking all nouns and noun phrases out of requirements specification document; discard inappropriate candidates. A candidate is an inappropriate class when it is redundant (ex: book, book in many volumes; member of the library,library member) vague (item it may be either book or journal etc) an event or an operation (a loan an event: lending a book) meta-language element: used to describe and explain requirements and the system at a very high level (system, rule, information, or reporting requirements) outside the scope of the system (time) an attribute (name) Nouns are outlined 6

7 CRC Cards 7

8 Introduction to CRC Cards CRC Card = Class Responsibility Collaborator Card Purpose: interactively brainstorm an initial design of a program or program segment Invented in 1989 by Kent Beck and Ward Cunningham

9 CRC Cards Class the name of an OO class (a good descriptive noun) Responsibility the things the OO class does (behavior responsibility) Collaborator the relationship the class has with other classes Class Name Main Responsibility Responsibilities Collaborators X 6 (or 3 X 5) Index card Some also suggest writing down the classes properties (what the class must know about itself knowledge responsibility) on the back of the card

10 An Example CRC Card - Front Main Responsibilit y A patient makes appointments, review or configure insurance information, and provides medical history Slide 10

11 An Example CRC Card - Back Slide 11

12 Step 2: Determine a set of specific scenarios Develop a comprehensive and specific set of end-to-end scenarios based upon the requirements. A scenario is a sequence of actions that illustrates behavior. Example: Requirement: The alarm clock shall allow a user to set the time. Scenario: The user sets the time for 1:15PM.

13 Step 3: Walk through the scenario, naming cards and responsibilities Walk through the handling of a scenario case pointing to or picking up the cards, naming their responsibilities and how they handle and delegate each request. Add new cards as classes are needed. Note: It s always good to do very basic/mainstream use cases first, then explore alternative/complicated use cases.

14 An ATM Example See Class Exercise 14

15 ATM All Nouns 15

16 ATM- Classes Class candidates: card bank account (ATM) dispenser & session vague (it might become of interest) Data associated PIN - attribute of card current balance - attribute of bank account amount attribute in various classes overdraft limit attribute of bank account card limit per day attribute of card dispenser amount attribute of ATM dispenser 16

17 ATM Example: 17

18 More ATM CRC Cards 18

19 ATM Card Class Card class attributes and operations; validatepin() validates the PIN introduced against the value in pin; changepin() changes the current pin value with what this operation provides; startwithdraw() initiates the withdrawal by i) checking that the amount requested is within daylimit range; ii) checks with BankAccount that there is enough in the current bank account or the overdraft limit is sufficient for this transaction; iii) it also checks that there is enough cash in dispenser; if all these are fulfilled it asks BankAccount to update the balance and Dispenser to release the cash. 19

20 ATM BankAccount Class 20

21 ATM Dispenser class 21

22 ATM Transaction Class 22

23 ATM additional requirements Let s consider that transactions involving cash withdrawal, either failed or successful, are recorded. In this case session (retained as vague) will be reconsidered and Transaction is the class that will be identified for session. Reconsider CRC cards: when Card class will initiate cash withdrawal then another collaboration will be added, i.e. Transaction class will record this transaction. A new CRC card will be then generated for Transaction class. 23

24 CRC Cards Relationship 24

25 ATM Class Diagram Class diagrams is obtained directly from CRC cards by considering collaborations identified; it shows business classes. Classes are shown with no attributes and operations. 25

26 ATM-Refined Class Diagram For each Card there is one bank account, one dispenser and an arbitrary number of transactions. Each BankAccount should have one or more cards associated with. The Dispenser refers to all cards. Each Transaction has a unique card on it. All associations are named, directed and unidirectional. 26

27 Different types of analysis classes Entity Class Data Structures: e.g. Card, Process Class Classes that work: Transactions Boundary Class Interface with external systems: Dispenser 27

28 Clear Intersection Example From the Use Cases to Design

29 1. Flow of Events for the Clear Intersection Use Case 1.1 Preconditions Traffic light has been initialized. 1.2 Main Flow This use case begins when a car enters the intersection. The car checks it s status (S-1). The use case ends when the car clears the intersection (S-4). 1.3 Subflows S-1 Check Status Check status (S-2, S-3). If the light is green, and the queue is empty, the car clears the intersection (S-4). Otherwise, it joins a queue (S-5). S-2 Check Light Get information on whether the light is red, yellow, or green. S-3 Check Queue Get information on whether the queue is empty or not S-4 Go The car clears the intersection and the use case ends. S-5 Join a Queue Car is added to queue.

30 Step 1: Identify and assign candidate classes The Clear Intersection use case: This use case begins when a car enters the intersection. The car checks it s status (S-1). The use case ends when the car clears the intersection (S-4). Check status (S-2, S-3). If the light is green, and the queue is empty, the car clears the intersection (S-4). Otherwise, it joins a queue (S-5). Candidate Classes Car Traffic light Queue Intersection

31 Step 2: Determine a set of specific scenarios-from Use Cases Scenarios The car can only drive through the intersection if the traffic light is green and there are no cars in the intersection. Otherwise, the car needs to join a queue.

32 Step 3: Walk through the scenario, naming cards and responsibilities Index Card: Car Responsibility Drive Join Collaborator Traffic light Queue Intersection Car Car approaches the intersection and the light is green and there are no cars in the way. Car approaches the intersection and the light is red. Car is in the queue and the light turns green.

33 CRC Cards What next? Turn these cards into your class diagram Responsibilities --- Methods Collaborators --- Associations (need to have instances of collaboration classes) Data members on the card back --- Attributes. Class Name Main Responsibility 4 X 6 (or 3 X 5) Index card Responsibilities Collaborators......

34 The Design of Traffic Simulator

35 Final Implemention Process Class: 255 LOC Car.java: 31 LOC CarQueue.java: 51 LOC CarQueueCollection.java: 52 LOC Direction.java: 13 LOC LightCollection.java: 31 LOC LightColor.java: 7 LOC TrafficController.java 70 LOC UI class: Traffic.java: 251 LOC Including menu, car queue initialization, etc. 35

36 Design Engineering Start with use cases from SRS Find analysis classes from use cases Create CRC cards from use cases Refine CRC cards into UML class diagrams Different types of classes Architecture Design Interface Design Component Design Detailed/Data Design 36

37 The Design of Traffic Simulator

38 Data Model Design Why Data Model Design is needed? Performance consideration Interface consideration Adaptability consideration Different types of Data Design In-memory data structure Input-output file format Database scheme Classes attributes Principles: abstraction and modularization 38

39 Data Modeling Concepts Data objects can then be represented as tables: 39

40 Data Modeling Concepts Data attributes define properties of a data object. RELATIONSHIPS Data objects connect to one another in different ways. 40

41 Data Modeling using Classes 41

42 The Data Model Design of TheraWii 42

43 Database Scheme Design Entity Relation Diagram 43

44 The Database Design of Vodka 44

45 Interface Design Why interface design is needed? Task parallelism Performance analysis Different types of Interface Design Graphical interface design Boundary class design Database interface design File storage interface design Hardware interface design More 45

46 The Component and Interface Design of TheraWii 46

47 Software Design Document Syntax Component Diagram High-level Component Diagrams Detailed Component Diagrams (Classes and relations within a Component) Interface Design (Boundary Class) Data Model /Data Storage Design (Entity Classes), data attributes have to be specified Other models Deployment Diagram Algorithm Explanation 47

The Object-Oriented Design Process

The Object-Oriented Design Process The Object-Oriented Design Process Part 1: Techniques & Tools OOdesignProcess 1 Program development In theory, 3 phase development process: Analysis: figure out the problem Design: develop the solution

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (Requirements Specification).

More information

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

UML Is Not a Methodology

UML Is Not a Methodology UML COSC 4354 1 UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology

More information

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account ID: CIS375-01 Title: Login Description: Customer logs into the system by inserting the card and entering pin code. Preconditions: Customer has a bank account and an ATM Card. Postconditions: Customer logged

More information

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis OBJECT-ORIENTED MODELING AND DESIGN Domain Analysis CONTENTS :. Overview of Analysis 2. Domain Class Model 3. Domain State Model 4. Domain Interaction Model 5. Iterating the Analysis 6. Chapter Summary.

More information

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements

More information

Outline of Lecture 3. Identifying Objects. Requirements Analysis Overview. Actors, Objects and Classes

Outline of Lecture 3. Identifying Objects. Requirements Analysis Overview. Actors, Objects and Classes Identifying Objects Software Requirements and Design CITS 4401 Lecture 3 Outline of Lecture 3 What is an object? Identifying Grammatical Analysis CRC method B&D heuristics for object identification Requirements

More information

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system) Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration

More information

OO System Models Static Views

OO System Models Static Views OO System Models Static Views UML Class & Object Diagrams Software Engineering OO Models Class Diagram Slide 1 Objective Introduces the evolutionary approach for building classes Explain how to identify

More information

Object Oriented Software Development CIS Today: Object Oriented Analysis

Object Oriented Software Development CIS Today: Object Oriented Analysis Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis

More information

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading: CompSci 280 S2 2107 Introduction to Software Development Today s Agenda Topics: Introduction Activity Diagram Object interaction Sequence Diagram Reading: Booch G.,The Unified Modeling Language User Guide,

More information

Patterns and Testing

Patterns and Testing and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1. Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,

More information

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

More information

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 1: An Overview of Object- Oriented Systems Development Goals The object-oriented philosophy and why we need to study it.

More information

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence

More information

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements

More information

Object Oriented Analysis and Design: An Overview

Object Oriented Analysis and Design: An Overview Object Oriented Analysis and Design: An Overview Balaji Rajagopalan Credits: Material for the slides is drawn from a variety of sources including Object Oriented Analysis and Design using UML by Ali Bahrami.

More information

Model-based Transition from Requirements to High-level Software Design

Model-based Transition from Requirements to High-level Software Design Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview

More information

CH 13 APPLICATION ANALYSIS

CH 13 APPLICATION ANALYSIS CH 13 APPLICATION ANALYSIS APPLICATION INTERACTION MODEL Steps: Determine system boundary Find actors Find use case Find initial & final events Prepare a normal scenario Add exception scenario Prepare

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/29/2015 http://cs.gsu.edu/~ncasturi1 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation)

More information

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far University of Calgary Department of Electrical and Computer Engineering SENG 609.23: Object Oriented Analysis and Design Behrouz Homayoun Far Evaluation Test () 20:00 20:30 PM Instructions: 1. This booklet

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 8: Identifying Object Relationships, Attributes, and Methods Goals Analyzing relationships among classes. Identifying association.

More information

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE 1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE LECTURE-1 Syllabus Introduction 1.1 Introduction to Object Oriented 1.2 Introduction to UML 1.3 Software Process and OOA&D 1.4 Component and CBSD 1.5 Patterns

More information

Chapter 5: Structural Modeling

Chapter 5: Structural Modeling Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class

More information

Using Breakout Sessions for Group Work

Using Breakout Sessions for Group Work WebEx Using Breakout Sessions for Group Work A breakout session is a private content sharing session that includes two or more participants. Breakout sessions allow participants to brainstorm and collaborate

More information

Use C ases Cases 7/09

Use C ases Cases 7/09 Use Cases 7/09 Groups of 3 Recorder/Timekeeper Participation checker Devil s Advocate Motivation One way to describe a system is to create a story, y, the interaction between a user and the system This

More information

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

Lecture 9 Requirements Engineering II

Lecture 9 Requirements Engineering II Lecture 9 Requirements Engineering II Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 23, 2008 Announcements

More information

Conceptual Data Modeling by David Haertzen

Conceptual Data Modeling by David Haertzen Conceptual Data Modeling by David Haertzen All rights reserved. Reproduction in whole or part prohibited except by written permission. Product and company names mentioned herein may be trademarks of their

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy CS112 Lecture: Fundamental Concepts of Object-Oriented Software Development Last revised 1/13/04 Objectives: 1. To review/introduce key concepts of object-orientation: object, class, data members (class

More information

Software component interactions and sequence diagrams

Software component interactions and sequence diagrams Software component interactions and sequence diagrams Paul Jackson School of Informatics University of Edinburgh What do we need to know? Recap Recall that this is an overview of software engineering,

More information

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Header Description: This use case describes how the ATM user withdraws cash from the ATM. Use Case: Withdraw Cash Use Case #: UC1 Author: Iteration: JAD Team Detailed Header Description: This use case describes how the ATM user withdraws cash from the ATM. Business Trigger(s): Customer needs

More information

Responsibility Driven Design

Responsibility Driven Design Responsibility Driven Design Responsibility Driven Design, Rebecca Wirfs Brock, 1990 The Coffee Machine Design Problem, Alistair Cockburn, C/C++ User's Journal, May and June 1998. Introducing Object-Oriented

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification Techniques

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification Techniques Software Testing in the textbook Software Testing Chapter 8 Introduction (Verification and Validation) 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing 1 2 Verification

More information

An Introduction to Business Process Modeling using Data Flow Diagrams

An Introduction to Business Process Modeling using Data Flow Diagrams An Introduction to Business Process Modeling using Data Flow Diagrams BSAD 141 Dave Novak BDIS: 2.2 (61-77) Lecture Overview Systems and Business processes Business process models Data Flow Diagrams (DFDs)

More information

L02.1 Introduction... 2

L02.1 Introduction... 2 Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................

More information

Object- Oriented Design with UML and Java Part I: Fundamentals

Object- Oriented Design with UML and Java Part I: Fundamentals Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html

More information

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1 Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

KF5008 Program Design & Development. Lecture 3 Sequence Diagrams

KF5008 Program Design & Development. Lecture 3 Sequence Diagrams KF5008 Program Design & Development Lecture 3 Sequence Diagrams Learning Outcomes At the end of the lecture, you should be able to: Explain the content and purpose of a UML Sequence Diagram Describe the

More information

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented

More information

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts Software methodologies Extreme Programming Object-Oriented Design CRC Cards - UML class diagrams Analysis Design Implementation Software

More information

Designing applications. Main concepts to be covered

Designing applications. Main concepts to be covered Designing applications 4.0 Main concepts to be covered Discovering classes CRC cards Designing interfaces Patterns 2 1 Analysis and design A large and complex area. The verb/noun method is suitable for

More information

Object Oriented Methods with UML

Object Oriented Methods with UML Object Oriented Methods with UML Introduction to Class Diagram Lecture -3 Presented By Dr.A.Bazila Banu What is a class? Central feature of C++ that supports OOP. It combines data representation and methods

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

CS 451 Software Engineering

CS 451 Software Engineering CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Elaboration 2 Elaboration: Building the Analysis Model An analysis model provides a description

More information

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development 1.2 Object Basic 1.3 Object Oriented Systems Development Life Cycle 1.1 An Overview

More information

System Analysis and Design. Data Flow Diagram. System Analysis and Design

System Analysis and Design. Data Flow Diagram. System Analysis and Design Data Flow Diagram 1 Data Flow diagram The dataflow diagram is a modeling tool that allows us to picture a system as a network of functional processes, connected to one another by pipelines and holding

More information

Characterizing your Objects

Characterizing your Objects Characterizing your Objects Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 2, No. 5 By: Rebecca J. Wirfs-Brock In this column I ll describe some vocabulary I find useful to characterize

More information

This assignment is worth 100 points and is due on the crashwhite.polytechnic.org server at 23:59:59 on the date given in class.

This assignment is worth 100 points and is due on the crashwhite.polytechnic.org server at 23:59:59 on the date given in class. AP Computer Science Partner Project - RideShare ASSIGNMENT OVERVIEW In this assignment you ll be creating a small package of files which will simulate a Ride Sharing system. The package will include four

More information

SPOTCASH MOBILE APPLICATIONS USER GUIDE

SPOTCASH MOBILE APPLICATIONS USER GUIDE SPOTCASH MOBILE APPLICATIONS USER GUIDE Table of Contents CHAPTER 1 INTRODUCTION... 3 CHAPTER 2 ACCESSING THE APPLICATION... 3 CHAPTER 3 THE DASHBOARD... 6 3.1 Withdrawal... 7 3.2 Deposit... 9 3.3 Top

More information

2. Introduction to UML & Discussion of Related S.E.

2. Introduction to UML & Discussion of Related S.E. 2. Introduction to UML & Discussion of Related S.E. 2. Introduction to UML...1 2.1 Context of UML...2 2.1.1 A classical view of specification & design, & how they are related...2 2.1.2 Examples of requirement

More information

Bottom Up Design. » finding the relevant object types» deciding on what operations the objects should have

Bottom Up Design. » finding the relevant object types» deciding on what operations the objects should have Abstract Data Types & Bottom Up Design 12-1 Bottom Up Design Defining the objects (abstract data types) to be used in a program.» Defining the logical data structures and operations on objects which are

More information

Practical Session 2: Use Cases and a Requirements Model.

Practical Session 2: Use Cases and a Requirements Model. Practical Session 2: The Use Case and Requirements Model T he following report uses a retail banking scenario to illustrate how Enterprise Architect can be used to develop Use Cases and a Requirements

More information

CS485/540 Software Engineering Requirements Modeling (Ch. 6)

CS485/540 Software Engineering Requirements Modeling (Ch. 6) CS485/540 Software Engineering Requirements Modeling (Ch. 6) Cengiz Günay Dept. Math & CS, Emory University Fall 2013 Some slides courtesy of Joan Smith and Roger Pressman Günay (Emory) Requirements Modeling

More information

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Analysis and Design Using UML (OO-226) Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,

More information

On to OO design ideas. Really just an introduction (much more in CS 48) About programming in the large

On to OO design ideas. Really just an introduction (much more in CS 48) About programming in the large On to OO design ideas Really just an introduction (much more in CS 48) About programming in the large Small vs. large programs l Programming in the small: Usually just one programmer He/she understands

More information

Introduction to Software Engineering: Analysis

Introduction to Software Engineering: Analysis Introduction to Software Engineering: Analysis John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from of Bruegge & DuToit 3e, Ch 5 and UML Distilled by Martin

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

Software Life-Cycle Models

Software Life-Cycle Models Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language

More information

Chapter 10 Object-Oriented Design Principles

Chapter 10 Object-Oriented Design Principles Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis

More information

Represent entities and relations with diagrams

Represent entities and relations with diagrams LEARNING OBJECTIVES Define data modeling terms Describe E-R Model Identify entities and relations Represent entities and relations with diagrams WHAT IS DATA MODELING? A data model is a collection of concepts

More information

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches Introduction to Software Engineering ECSE-321 Unit 9 Architectural Design Approaches Requirement Elicitation Analysis (Software Product Design) Architectural Design Detailed Design Architectural Design

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques 1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:

More information

CS 2340 Objects and Design

CS 2340 Objects and Design CS 2340 Objects and Design Software Design Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design Software Design 1 / 6 Design Design (noun) A plan or protocol

More information

OO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC

OO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC OO design Classes, Responsibilities, Collaborations (CRC) 1 bank accounts the system to be modelled: bank accounts with differing fee structures purpose: evaluate different account types with respect to

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. Object Oriented Programming

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. Object Oriented Programming BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Object Oriented Programming Examiner s Report March 2017 A1. a) Explain what is meant by the following terms:

More information

Final Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format

Final Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format Final Exam Final Exam Review CS 4354 Fall 2012 Jill Seaman Friday, December 14, 11AM Closed book, closed notes, clean desk Content: Textbook: Chapters 1, 2, 4-10 Java Lectures, GRASP + JUnit 35% of your

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 4 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation:

More information

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has

More information

Object-Oriented Analysis Phase

Object-Oriented Analysis Phase Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.sc(CST) Semester / Year : VI(EVEN)/III Subject

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram. !"# $%&' !" #" $%%&&& ! Static Structure Diagram Collaboration Collaboration Diagram Collaboration Diagram Diagram Activity Diagram CRC Card CRC Card UML defines a standard notation for object-oriented

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 10/01/2014 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation) Will be posed

More information

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

Introduction to Unified Modelling Language (UML)

Introduction to Unified Modelling Language (UML) IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

About this module. Object-oriented analysis and design. About this module. Analysis

About this module. Object-oriented analysis and design. About this module. Analysis About this module McGill ECE 321 Intro to Software Engineering Radu Negulescu Fall 2001 Object-oriented analysis and design The modules of an object-oriented program preserve state between calls. This

More information

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements... 10 Analysis Modeling M MAJOR A J O R T TOPICSO P I C S Objectives... 144 Pre-Test Questions...144 Introduction... 145 Collaboration Diagrams... 145 Flow of Events and Special Requirements... 151 Class-Responsibility-Collaboration

More information

TTool Training. I. Introduction to UML

TTool Training. I. Introduction to UML TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML

More information

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS UNIT 1 UML DIAGRAMS Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams Package, component and Deployment Diagrams. INTRODUCTION

More information

Outline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants

Outline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants CSE 142 Outline for Today Conditional statements if Boolean expressions Comparisons (=,!=, ==) Boolean operators (and, or, not - &&,,!) Class invariants Conditional Statements & Boolean Expressions

More information

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence Diagrams 3. To show

More information

CS3205: Task Analysis and Techniques

CS3205: Task Analysis and Techniques CS3205: Task Analysis and Techniques CS3205: Task Analysis and Techniques Readings (same as before): 1) ID-Book Chapter Establishing Requirements, Ch. 10 (Ch. 9 in course ebook) 2) Chapter 2 from Task-Centered

More information

Object-Oriented Functional Analysis and Design for POS Example

Object-Oriented Functional Analysis and Design for POS Example Object-Oriented Functional Analysis and Design for POS Example Focus in Analysis, Design, Implementation Analysis Investigation to the problem in problem domain Design Logical solution(model) for implementation

More information