Requirements Capture: example UML. UML: Use case models. Use case diagram

Size: px
Start display at page:

Download "Requirements Capture: example UML. UML: Use case models. Use case diagram"

Transcription

1 Requirements Capture: example UML Use Case Models And Class Models The following emerges after discussions: the library has books and journals (several copies of either) some books are available for a short term loan only there is a borrowing limit of up to 6 books for students and 12 for staff New books and journals arrive all the time and have to be catalogued, and old ones are sometimes disposed of. At the end of each year journals have to sent off to be bound Books and journals borrowed by library members must be recorded, and the new system should issue reminders when a book is overdue Users need to be able to browse for a book on any topic to see if it available for loan, and if not, they can reserve a copy. 2 nd sem nd sem UML: Use case models Use case diagram Use cases describe the system behaviour from the user s viewpoint help capture requirements and help planning and testing Actors (external users of the system - includes other systems) Use cases (how the system can be used by the user) Reserve book Borrow Copy of book Browse Browser For example, in a library system we identify: a BookBorrower actor a use case for this actor would be Borrow Copy of Book. We need to define this use case: A BookBorrower presents a book, the system checks the user is a library member, and that the maximum numbers of loans for this user has not been exceeded the loan is recorded, otherwise it is refused BookBorrower JournalBorrower Return copy of book Extend loan Borrow Journal Update Catalog Librarian Return Journal 2 nd sem nd sem

2 Actors: UML: Use case models (2) identify the beneficiaries of use cases actors identify the roles that actors play may lead to different actors representing the same user non-human actors should be identified at a high level of abstraction: e.g. another library s computer Use cases: A scenario is an instance of a use case - just one possible interaction between the system and its users or other systems e.g. Book borrower Fred Bloggs tries to borrow the 2nd copy of Star Wars from the library which has it an acceptable instance of the Borrow copy of book use case Scenarios are linked by the performing of essentially the same task, but with alternative or unusual outcomes UML: Use case models (3) Using use cases: requirements capture identify the actors identify what they want from the system even at this early stage it is useful to get an idea of how much information an actor needs from the system (and record it) Using use cases: development to support planning, we need the use cases: we know what each use case is, and who wants it (and hopefully how much they want it) we can work on examining the high risk use cases, and then on estimating how long each use case will take to develop project schedule from a political point of view, the use cases that users want the most should be delivered first from a technical point of view, the use cases that carry the highest risk should be delivered first 2 nd sem nd sem UML: Use case models (4) UML: Class models Using use cases: system validation and testing since each use case describes a requirement, a correct design realizes all use case requirements we can test for each use case develop test cases to test every scenario in the use case Possible problems: use cases are not inherently OO (which is how we want to build our system architecture) because they capture what the user wants (and they don t really care how the system does it) doing design while capturing requirements thinking about scenarios at too low a level in a fixed order may miss some requirements if too use-case driven UML class diagrams describe the logical view of the system, i.e. the static structure - what the classes are and how they are related BUT NOT how they interact Identifying classes and objects: we want to meet all the system requirements from the system objects we construct from the classes we design a good class model is made up of classes that will endure and not depend on the specific functionality required by the system Ways to build the class model: this is a highly iterative process - easy to start with the problem domain objects, and abstract domain classes from them, e.g. copy of War and Peace class Book two common ways: data-driven design and responsibility-driven design (classes have both) 2 nd sem nd sem

3 Digression class model A ddres s username : String machinename : String university : String organization : String country : String getusername() : String setusername(argusername : String) getmachinename() : String UML: Class identification Noun identification: identify candidate classes from the nouns and noun phrases in the requirements specification discard candidates which are redundant, vague, outside the system scope, part of the specification language, an event or operation (of another class), an attribute (of another class) CRC cards: class, responsibilities and collaborations - all on one card for each class Class Name Responsibilities What the class has to do Collaborators What classes interact with this class 2 nd sem nd sem Identifying classes Example of noun identification The library contains books and journals. It may have several copies of a book. Some of the books are for short term loans only. All other books can be borrowed by any library member for three weeks. Members of the library can borrow up to six items at a time, but members of staff can borrow up to 12 items at a time. Only members of staff may borrow journals. The system must keep track of when books and journals are borrowed and returned, enforcing the above rules. Produces a list of candidate classes reduce library - outside this software system short term loan - really an event member of the library - same as library member week, time - measures of time or outside the system system, rule - part of language of requirements, not the system Identifying classes (2) Remaining classes: book, journal, copy (of a book), library member, staff member Don t need to get this exactly right: not an exact science ok to agree some definitions need more work not trying to design the system yet, just capture the important real-world objects within the problem domain Can refine when we look at how classes associate: used to clarify understanding of the problem domain check the coupling between classes - remember we want high cohesion and low coupling, but if objects are closely coupled then this needs to be identified as early as possible 2 nd sem nd sem

4 Lecture Summary UML: Use case models for requirements capture UML: Class models - what are they really? they describe objects with equivalent roles in the system all real-world objects will belong to a class, e.g. book, unit all roles that objects can take on are also classes, e.g. library member, student objects in our system only represent real-world objects - so we only want to know about information that is relevant for our system model of the object Next UML : Class associations UML: Class Associations 2 nd sem nd sem UML: Class Associations Associations between classes: can often be found from the verbs in the specification, e.g. a library member borrows a book if some object of class A needs to know something about object of class B must be an association. an association relates a pair of classes and an instance of an association relates a pair of objects Class A Association Class B UML: Class Associations (2) Simple association: Copy Is a copy of 1..* 1 Book Multiplicities: the number of instances of classes at each end of associations, e.g. we may have from 1 to many (1..*) copies of a book for each book (1) Object A Association instance Object B Attributes: describes the data in the class Operations: methods invoked with parameters Title : String Book copiesonshelf () : Integer 2 nd sem nd sem

5 UML: Generalization Generalization: specialised classes (i.e. subclasses) must perform all the operations and have the same attributes as their superclass (i.e. objects of a specialised class can be substituted for an object of a more general class) e.g. MemberOfStaff is a generalization of LibraryMember (i.e. every LibraryMember is also a MemberOfStaff ) in UML the open arrow head points to the more generalized class (or superclass) common to have a is a relationship, i.e. specialized class is a generalized class, e.g. collie is a breed of dog Object Object MemberOfStaff LibraryMember Generalized class Specialized class UML: Inheritance Inheritance is the implementation of generalization in OO languages (generalization also applies to types) Inheritance can bring problems if overused: subclasses are dependent on changes in superclasses can force recompilation of all subclasses composition is a useful alternative: e.g. suppose we have a List class that we wish to use to implement an AddressBook class could let AddressBook inherit from List, or could let AddressBook own a copy of List by defining an attribute addresses: List still useful to define abstract type relationships (even if not implemented with inheritance) Cash Payment Payment Amount: Money Cheque Payment Credit Payment 2 nd sem nd sem UML: More associations Aggregation and composition: showing an object of one class is part of an object of another class Aggregation - e.g. unit is part of a degree: UML: More on associations (2) Roles: Associations can be described by roles at either end or be named in the middle Lecturer +Course Advisor +Advisee Student BEdegree year unit 1..* 4 1..* 8 An association name is not usually needed - but is legal Composition - e.g. square is part of a chess board: chessboard Composition is stronger, all parts of an object are owned by the whole object multiplicity of owner must be 1 or square 2 nd sem Navigability: restrict direction of messaging between classes Student is taking 1..* 8 Use of bi-directional navigability should be sparing as too many classes knowing about other classes limits potential reuse (e.g. Unit in the above example) Unit 2 nd sem

6 Lecture Summary UML: Class associations Simple associations generalization inheritance aggregation composition roles & navigability Next Dynamic models & interactions between classes 2 nd sem

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1 COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning,

More information

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl UML Class Diagrams 11 November 2015 UML Class Diagrams The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk. COMP 201 web-page: http://www.csc.liv.ac.

Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk. COMP 201 web-page: http://www.csc.liv.ac. Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 18 Introductory Case Study Introduction to UML During

More information

How to Make a Domain Model. Tutorial

How to Make a Domain Model. Tutorial How to Make a Domain Model Tutorial What is a Domain Model? Illustrates meaningful conceptual classes in problem domain Represents real-world concepts, not software components Software-oriented class diagrams

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Object Oriented Software Models

Object Oriented Software Models Software Engineering CSC 342/ Dr Ghazy Assassa Page 1 Object Oriented Software Models Use case diagram and use case description 1. Draw a use case diagram for a student-course-registration system. Show

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 7: Finding Analysis Classes 1 Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural analysis

More information

Object-oriented design methodologies

Object-oriented design methodologies Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard

More information

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011 Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences

More information

LAB 3: Introduction to Domain Modeling and Class Diagram

LAB 3: Introduction to Domain Modeling and Class Diagram LAB 3: Introduction to Domain Modeling and Class Diagram OBJECTIVES Use the UML notation to represent classes and their properties. Perform domain analysis to develop domain class models. Model the structural

More information

Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University

Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University Data Analysis 1 Unit 2.1 Data Analysis 1 - V2.0 1 Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes,

More information

Software Development: An Introduction

Software Development: An Introduction Software Development: An Introduction Fact: Software is hard. Imagine the difficulty of producing Windows 2000 29 million lines of code 480,000 pages of listing if printed a stack of paper 161 feet high

More information

Tutorial - Building a Use Case Diagram

Tutorial - Building a Use Case Diagram Tutorial - Building a Use Case Diagram 1. Introduction A Use Case diagram is a graphical representation of the high-level system scope. It includes use cases, which are pieces of functionality the system

More information

From Business Event to BUC

From Business Event to BUC From Business Event to BUC This is the third article in a series that explains the thinking behind the Volere 1 requirements techniques. Subsequent articles will explore various aspects of applying these

More information

COMP61532 Pattern-based Software Development Liping Zhao John Sargeant Comments. Please see the attached.

COMP61532 Pattern-based Software Development Liping Zhao John Sargeant Comments. Please see the attached. Pattern-based Software Development Liping Zhao John Sargeant Comments Please see the attached. 01 July 2015 Examination Performance Feedback to COMP61532 (2014 2015) Section A Answer ALL Questions In general

More information

Database Design Methodology

Database Design Methodology Database Design Methodology Three phases Database Design Methodology Logical database Physical database Constructing a model of the information used in an enterprise on a specific data model but independent

More information

Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University

Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University Data Analysis 1 SET08104 Database Systems Copyright @ Napier University Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship?

More information

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational databases. 1 A Database of Students and Modules Student Student Number {PK}

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

IV. The (Extended) Entity-Relationship Model

IV. The (Extended) Entity-Relationship Model IV. The (Extended) Entity-Relationship Model The Extended Entity-Relationship (EER) Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of EER Diagrams

More information

UML Class Diagrams. Lesson Objectives

UML Class Diagrams. Lesson Objectives UML Class Diagrams 1 Lesson Objectives Understand UML class diagrams and object modelling Be able to identify the components needed to produce a class diagram from a specification Be able to produce class

More information

How To Design Software

How To Design Software The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies

More information

1 Class Diagrams and Entity Relationship Diagrams (ERD)

1 Class Diagrams and Entity Relationship Diagrams (ERD) 1 Class Diagrams and Entity Relationship Diagrams (ERD) Class diagrams and ERDs both model the structure of a system. Class diagrams represent the dynamic aspects of a system: both the structural and behavioural

More information

ER modelling, Weak Entities, Class Hierarchies, Aggregation

ER modelling, Weak Entities, Class Hierarchies, Aggregation CS344 Database Management Systems ER modelling, Weak Entities, Class Hierarchies, Aggregation Aug 2 nd - Lecture Notes (Summary) Submitted by - N. Vishnu Teja Saurabh Saxena 09010125 09010145 (Most the

More information

System Modeling / Class Diagra Diagr m a Week 6

System Modeling / Class Diagra Diagr m a Week 6 System Modeling / Class Diagram Week 6 System modeling Agenda (Lecture) Agenda (Lab) Create CRC cards for your group project Create a system level (analysis level) class diagram (Lab Assignment #6) for

More information

Object-Oriented Design. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C.

Object-Oriented Design. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Object-Oriented Design CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion Elements of Good Object-Oriented Design Idea: Capture the complexity of

More information

III. Class and Object Diagrams

III. Class and Object Diagrams III. Class and Object Diagrams Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance Associations and Multiplicity Aggregation and Composition Business Objects and

More information

Writing Essays. SAS 25 W11 Karen Kostan, Margaret Swisher

Writing Essays. SAS 25 W11 Karen Kostan, Margaret Swisher Writing Essays A GOOD ESSAY CONTAINS: 1. An introductory paragraph 2. A clear thesis statement 3. A body consisting of supporting paragraphs 4. A concluding paragraph Step 1: Review Assignment Read the

More information

Communication Diagrams

Communication Diagrams Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes

More information

Business Definitions for Data Management Professionals

Business Definitions for Data Management Professionals Realising the value of your information TM Powered by Intraversed Business Definitions for Data Management Professionals Intralign User Guide Excerpt Copyright Intraversed Pty Ltd, 2010, 2014 W-DE-2015-0004

More information

Use Case Diagrams. Tutorial

Use Case Diagrams. Tutorial Use Case Diagrams Tutorial What is a use case? A requirements analysis concept A case of a use of the system/product Describes the system's actions from a the point of view of a user Tells a story A sequence

More information

From Business World to Software World: Deriving Class Diagrams from Business Process Models

From Business World to Software World: Deriving Class Diagrams from Business Process Models From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254

More information

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved.

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved. 1 ATM Case Study 2 OBJECTIVES.. 3 2 Requirements 2.9 (Optional) Software Engineering Case Study: Examining the Requirements Document 4 Object-oriented design (OOD) process using UML Chapters 3 to 8, 10

More information

TDDC88 Lab 2 Unified Modeling Language (UML)

TDDC88 Lab 2 Unified Modeling Language (UML) TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

Lecture 12: Entity Relationship Modelling

Lecture 12: Entity Relationship Modelling Lecture 12: Entity Relationship Modelling The Entity-Relationship Model Entities Relationships Attributes Constraining the instances Cardinalities Identifiers Generalization 2004-5 Steve Easterbrook. This

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 13 Refactoring Part 3 1 Dealing with Generalization: Pull Up Constructor Body Pull Up Constructor Body You have constructors on subclasses with

More information

Lectures 2 & 3: Introduction to Modeling & UML. Getting started

Lectures 2 & 3: Introduction to Modeling & UML. Getting started Lectures 2 & 3: Introduction to Modeling & UML Why Build Models? What types of Models to build Intro to UML Class Diagrams Relationship between UML and program code Uses of UML 202 Steve Easterbrook. This

More information

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements Introduction It should be a requirement of the job that business analysts document process AND data requirements Process create, read, update and delete data they manipulate data. Process that aren t manipulating

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Support to Reading Groups

Support to Reading Groups Support to Reading Groups Purpose: To set out the basis on which stock is supplied to Reading Groups and to outline other forms of support offered. Libraries & Information will support Reading Groups by

More information

Chapter 2: Entity-Relationship Model. Entity Sets. " Example: specific person, company, event, plant

Chapter 2: Entity-Relationship Model. Entity Sets.  Example: specific person, company, event, plant Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

III. Class and Object Diagrams

III. Class and Object Diagrams III. Class and Object Diagrams Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance Associations and Multiplicity Aggregation and Composition How to Use Class Diagrams

More information

Object-Oriented Design Guidelines

Object-Oriented Design Guidelines Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Remigijus Gustas. Department of Information Systems, Karlstad University, Sweden

Remigijus Gustas. Department of Information Systems, Karlstad University, Sweden Department of Information Systems, Karlstad University, Sweden Underlying principles of conventional Conceptual Modeling Approaches EM methods distinguish disparate views/dimensions (Zachman, 1987). UML

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break!

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break! Announcements HW due today, 2 to grade this week Welcome back from Spring Break! Analysis (Domain) Modeling: Introduction Reading: Arlow and Neustadt chaps. 8, 9 (& 7) Also see Larman Chapter 10 (2 nd

More information

Modern Systems Analysis and Design

Modern Systems Analysis and Design Modern Systems Analysis and Design Prof. David Gadish Structuring System Data Requirements Learning Objectives Concisely define each of the following key data modeling terms: entity type, attribute, multivalued

More information

Getting Started with Protege-Frames

Getting Started with Protege-Frames Author : Eliza Sachs Current Contact : Jennifer Vendetti (vendetti at stanford dot edu) Last Modified : June 6, 2006 Page 1 of 72 Table Of Contents Understanding ontologies... 4 What is an ontology?...

More information

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology The Tropos and MaSE Agent-Oriented Software Engineering Methodologies Msury Mahunnah, Tallinn University of Technology Mailing list for the course aine.aom@lists.ttu.ee You can join at http://lists.ttu.ee/mailman/listinfo/aine.aom

More information

UML: Classes -- Association

UML: Classes -- Association UML: Classes -- Association Class1 You can indicate that two classes have an association by using a simple line connector. Class2 Web Development for Business 69 UML: Classes -- Association Class1 You

More information

An Introduction To UML Class Diagrams Classes

An Introduction To UML Class Diagrams Classes An Introduction To UML Class Diagrams Classes 1. Represent a user-created or defined data type a. they are an abstract data type (ADT) b. they implement data hiding and encapsulation c. they establish

More information

Exercise 8: SRS - Student Registration System

Exercise 8: SRS - Student Registration System You are required to develop an automated Student Registration System (SRS). This system will enable students to register online for courses each semester. As part of the exercise you will have to perform

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

Principles of Software Construction: Objects, Design, and Concurrency. Domain Modeling and Specifying System Behavior. toad

Principles of Software Construction: Objects, Design, and Concurrency. Domain Modeling and Specifying System Behavior. toad Principles of Software Construction: Objects, Design, and Concurrency Domain Modeling and Specifying System Behavior toad Fall 2014 Jonathan Aldrich Charlie Garrod School of Computer Science Administrivia:

More information

Chapter 2: Entity-Relationship Model. E-R R Diagrams

Chapter 2: Entity-Relationship Model. E-R R Diagrams Chapter 2: Entity-Relationship Model What s the use of the E-R model? Entity Sets Relationship Sets Design Issues Mapping Constraints Keys E-R Diagram Extended E-R Features Design of an E-R Database Schema

More information

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 4 Certificate in IT. September 2013 EXAMINERS REPORT

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 4 Certificate in IT. September 2013 EXAMINERS REPORT BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 4 Certificate in IT September 2013 EXAMINERS REPORT Information Systems General comments on candidates' performance There

More information

A GRADUATE S ROLE IN TECHNOLOGY TRANSFER: FROM REQUIREMENTS TO DESIGN WITH UML

A GRADUATE S ROLE IN TECHNOLOGY TRANSFER: FROM REQUIREMENTS TO DESIGN WITH UML A GRADUATE S ROLE IN TECHNOLOGY TRANSFER: FROM REQUIREMENTS TO DESIGN WITH UML Stephen Hallinan Hewlett Packard, Ireland email: stephen.hallinan@hp.com J Paul Gibson Department of Computer Science NUI

More information

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1 CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #5: En-ty/Rela-onal Models- - - Part 1 Announcements- - - Project Goal: design a database system applica-on with a web front-

More information

(BA122) Software Engineer s Workshop (SEW)

(BA122) Software Engineer s Workshop (SEW) Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

Shopping Cart. Analysis & Design. Author:John Smith P08/22-43. Version:1.7 Status:Draft Publication:23/05/2013 Copyright:Modeliosoft

Shopping Cart. Analysis & Design. Author:John Smith P08/22-43. Version:1.7 Status:Draft Publication:23/05/2013 Copyright:Modeliosoft P08/22-43 Shopping Cart Analysis & Design Author:John Smith Version:1.7 Status:Draft Publication:23/05/2013 Copyright: 21, avenue Victor Hugo, 75016 Paris Table of Contents 1 Introduction... 4 2 Use Cases...

More information

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality Current Research Team: Prof. Victor R. Basili Forrest Shull, Ph.D. Guilherme H. Travassos, D.Sc. (1)

More information

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2 BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than

More information

Design and UML Class Diagrams

Design and UML Class Diagrams Design and UML Class Diagrams 1 Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML DistilledCh. 3, by M. Fowler How do people draw / write

More information

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,

More information

3.1 Use Case Diagrams

3.1 Use Case Diagrams 3.1 Subject/Topic/Focus: Introduction to Use Cases Summary: System Boundary Actors Use Cases Generalization, Inclusion, Extension Literature: [Fowler99], UML Distilled, Second Edition [Booch98] Last change:

More information

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language. UML 1 Introduction UML = Unified Modeling Language It is a standardized visual modeling language. Primarily intended for modeling software systems. Also used for business modeling. UML evolved from earlier

More information

Object Oriented Analysis and Design and Software Development Process Phases

Object Oriented Analysis and Design and Software Development Process Phases Object Oriented Analysis and Design and Software Development Process Phases 28 pages Why object oriented? Because of growing complexity! How do we deal with it? 1. Divide and conquer 2. Iterate and increment

More information

Visio Tutorial 1BB50 Data and Object Modeling (DOM) How to make a UML Class Diagram 2004/2005

Visio Tutorial 1BB50 Data and Object Modeling (DOM) How to make a UML Class Diagram 2004/2005 1BB50 Data and Object Modeling (DOM) How to make a UML Class Diagram 2004/2005 Table of Contents 1. Starting up Visio... 1 2. Add a class to your diagram... 2 3. Set the display options for class rectangles...

More information

Implementation Aspects of OO-Languages

Implementation Aspects of OO-Languages 1 Implementation Aspects of OO-Languages Allocation of space for data members: The space for data members is laid out the same way it is done for structures in C or other languages. Specifically: The data

More information

Transaction-Typed Points TTPoints

Transaction-Typed Points TTPoints Transaction-Typed Points TTPoints version: 1.0 Technical Report RA-8/2011 Mirosław Ochodek Institute of Computing Science Poznan University of Technology Project operated within the Foundation for Polish

More information

BCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT. Software Engineering 1. June 2015 EXAMINERS REPORT

BCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT. Software Engineering 1. June 2015 EXAMINERS REPORT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Software Engineering 1 June 2015 EXAMINERS REPORT General Comments This is a technical paper about Software Engineering. Questions seek to

More information

CPS211 Lecture: Class Diagrams in UML

CPS211 Lecture: Class Diagrams in UML CPS211 Lecture: Class Diagrams in UML Last revised July 24, 2008 Objectives: 1. To introduce UML Class Diagrams 2. To explain the association relationship between objects, adornments possible on such relationships,

More information

2. Analysis. The goal of this is to understand the problem. The key question is What?.

2. Analysis. The goal of this is to understand the problem. The key question is What?. Objectives: CPS122 Lecture: Class Diagrams in UML Last revised January 31, 2012 1. To introduce UML Class Diagrams 2. To explain the association relationship between objects, adornments possible on such

More information

Advanced Topics in Software Construction

Advanced Topics in Software Construction Advanced Topics in Software Construction Winter Semester 2009/10 Final Exam (10.02.2010) Please read the exercises carefully. Total time: 90 min. Name Matriculation Number 1 2 3 4 5 12 14 14 12 13 65 Grade

More information

Pigeonhole Principle Solutions

Pigeonhole Principle Solutions Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such

More information

Using UML Part One Structural Modeling Diagrams

Using UML Part One Structural Modeling Diagrams UML Tutorials Using UML Part One Structural Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

More information

Design by Contract beyond class modelling

Design by Contract beyond class modelling Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable

More information

Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)

Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD) Design methods List of possible design methods Functional decomposition Data Flow Design (SA/SD) Design based on Data Structures (JSD/JSP) OO is good, isn t it Decision tables E-R Flowcharts FSM JSD JSP

More information

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch RUP Design RUP Artifacts and Deliverables RUP Purpose of Analysis & Design To transform the requirements into a design of the system to-be. To evolve a robust architecture for the system. To adapt the

More information

XXI. Object-Oriented Database Design

XXI. Object-Oriented Database Design XXI. Object-Oriented Database Design Object-Oriented Database Management Systems (OODBMS) Distributed Information Systems and CORBA Designing Data Management Classes The Persistent Object Approach The

More information

Applying Object-Oriented Principles to the Analysis and Design of Learning Objects

Applying Object-Oriented Principles to the Analysis and Design of Learning Objects Applying Object-Oriented Principles to the Analysis and Design of Learning Objects Chrysostomos Chrysostomou and George Papadopoulos Department of Computer Science, University of Cyprus, Nicosia, Cyprus

More information

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Outline Using High-Level Conceptual Data Models for

More information

(Refer Slide Time 00:56)

(Refer Slide Time 00:56) Software Engineering Prof.N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-12 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue

More information

ATM Case Study Part 1

ATM Case Study Part 1 ATM Case Study Part 1 A requirements document specifies the purpose of the ATM system and what it must do. Requirements Document A local bank intends to install a new automated teller machine (ATM) to

More information

Iteration 3 Kick Off, Domain Model Refinement. Curt Clifton Rose-Hulman Institute of Technology

Iteration 3 Kick Off, Domain Model Refinement. Curt Clifton Rose-Hulman Institute of Technology Iteration 3 Kick Off, Domain Model Refinement Curt Clifton Rose-Hulman Institute of Technology 2/3 Course Evaluation Results Lecture Pace 15 10 5 0 Much too slow Somewhat too slow Somewhat too fast Much

More information

CS 341 Software Design Homework 5 Identifying Classes, UML Diagrams Due: Oct. 22, 11:30 PM

CS 341 Software Design Homework 5 Identifying Classes, UML Diagrams Due: Oct. 22, 11:30 PM CS 341 Software Design Homework 5 Identifying Classes, UML Diagrams Due: Oct. 22, 11:30 PM Objectives To gain experience doing object-oriented design To gain experience developing UML diagrams A Word about

More information

Towards a Method for IT-Service Management (Research in Progress)

Towards a Method for IT-Service Management (Research in Progress) Practice of Enterprise Modelling (PoEM) 02.11.2011, Oslo, Norway Towards a Method for IT- (Research in Progress) Heiko Kattenstroth, David Heise Research Group Information Systems and Enterprise Modelling

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

6-1. Process Modeling

6-1. Process Modeling 6-1 Process Modeling Key Definitions Process model A formal way of representing how a business system operates Illustrates the activities that are performed and how data moves among them Data flow diagramming

More information

Modelling Software Requirements Exercise on comparing two methods in an empirical study. BLUE 2 nd session Experiment package mss- U

Modelling Software Requirements Exercise on comparing two methods in an empirical study. BLUE 2 nd session Experiment package mss- U Modelling Software Requirements Exercise on comparing two methods in an empirical study. BLUE 2 nd session Experiment package mss- U Surname: Color: BLUE Name: Application: mss Treatment: UML Use Cases

More information

One and a half hours QUESTION PAPER MUST NOT BE REMOVED FROM THE EXAM ROOM AND MUST BE RETURNED UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours QUESTION PAPER MUST NOT BE REMOVED FROM THE EXAM ROOM AND MUST BE RETURNED UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours QUESTION PAPER MUST NOT BE REMOVED FROM THE EXAM ROOM AND MUST BE RETURNED UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Software Engineering Date: Monday 19th January 2015 Time:

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

UML Diagram Types. Use Cases do the Following. Use Case Diagram

UML Diagram Types. Use Cases do the Following. Use Case Diagram UML Diagram Types Dynamic Models activity diagrams statechart diagrams interaction diagrams sequence diagrams collaboration diagrams use case diagrams Structural Models class diagrams object diagrams packages

More information