Object-Orientated Analysis, Design and Programming

Slides:



Advertisements
Similar presentations
UML Use Case Diagram / Use Case Text / Activity Diagram
Advertisements

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Karolina Muszyńska Based on:
Unnat-e Infotech 1 Object Oriented Concepts Introduction.
Together and UML Greg Johnson CSE 230 – Software Engineering Spring 2007.
Introduction To System Analysis and Design
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Documenting Requirements using Use Case Diagrams
Use Case Modelling.
© Copyright Eliyahu Brutman Programming Techniques Course.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
IS0514 Lecture Week 3 Use Case Modelling.
CMPT 275 Software Engineering
Quiz 1. Who is the guru of Extreme Programming?
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
A Well Designed Web Application The Benefits of Object Oriented Analysis and Design Simone Becker
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
UML (Unified Modeling Language)
Use Case Diagrams Lecture Oo14 Use Cases. References n Booch, et al, The Unified modeling Language User’s Guide, AWL, 1999, Chapt 16 & 17 n Fowler & Scott,
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Chapter 5 – System Modeling
Systems Analysis and Design in a Changing World, Fourth Edition
Welcome to M301 P2 Software Systems & their Development
Object-Orientated Analysis, Design and Programming
Using Use Case Diagrams
Chapter 5 System modeling
Chapter 5 – System Modeling
Object-Oriented Analysis and Design
System Modeling Chapter 4
Object-Orientated Analysis, Design and Programming
Software Design AITI GP John Paul Vergara.
Software Architecture & Design Pattern
A tool for presentation of Architecture
A tool for presentation of Architecture
Requirements – Scenarios and Use Cases
Concepts, Specifications, and Diagrams
Unified Modeling Language
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Introduction to UML Use Case Diagrams.
Object Oriented Analysis and Design
IS0514 Lecture Week 3 Use Case Modelling.
Software Design Lecture : 15.
Software Design Lecture : 14.
Using Use Case Diagrams
Copyright 2007 Oxford Consulting, Ltd
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Systems Analysis and Design I
Engineering Quality Software
Information system analysis and design
Presentation transcript:

Object-Orientated Analysis, Design and Programming Presentation by Dr. Phil Legg Senior Lecturer Computer Science 1: Introduction Autumn 2016

Aims of the Module To develop understanding of Object-Oriented design concepts. To be able to use UML to analyse and design a system, based on Object-Orientated concepts. To implement a system based on Object-Orientated design methods, using suitable a programming language (e.g. Java).

Useful Reading “UML Distilled: A Brief Guide to the Standard Object Modelling Language (Object Technology S.)”, by Martin Fowler and Kendall Scott. “Introduction to Java Programming – Comprehensive” by Daniel Liang. Course notes and websites

Course Outline 20th September 27th September 4th October 11th October Object-Orientated Design and Use Cases Object and Class Design Class Relationships Java Programming Interaction Modelling Inheritance, Abstract Class and Interface Graphical User Interface Design in Java Design Patterns Concurrency Sockets and Datagrams Recap and Summary Revision 20th September 27th September 4th October 11th October 18th October 25th October 1st November 8th November 15th November (tbc) 22nd November (tbc) 29th November 6th December

About Me Dr. Phil Legg phil.legg@uwe.ac.uk Office: 2Q17 (e-mail to book an appointment) I am also the current Academic Personal Tutor for MSc Software Engineering. Any questions – feel free to ask me!

Object-Orientated Design

Object-Orientation A ‘car’ could be considered to be a large system. What do we mean by an ‘Object’? An object has some states (e.g., data/variables) An object has some behaviours (e.g., functions/methods) Large systems can be made up of smaller objects. A ‘car’ could be considered to be a large system. Made up of smaller components (e.g., wheels, engine, gears, etc.). How they interact with each other makes them a ‘car’ What else could be described using OO?

“Mission Impossible” DVD Objects make up systems getTotalPrice() Shopping Basket “Shopping” System getCost() getCost() getCost() “War and Peace” Book “Definitely Maybe” CD “Mission Impossible” DVD

There may be more than one way to achieve the same result OO design Design is an Art There may be more than one way to achieve the same result Rationale Justification Reflection Easy to maintain Cohesion Loose coupling Use cases capture system required functionalities Class model, interaction model and state/activity models capture the logical design of the system Use cases bridges the gap between requirement documents and the logical design Using the logical design, we create physical implementation using a specific programming language (e.g., Java) Design helps to perform thorough testing

UML “The Unified Modelling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artefacts of a software-intensive system.” [UML Specification 2.0] .” See http://www.uml.org for more detail on the latest specification of UML

UML Diagrams Two types: Structure and Behaviour Structure: static view , not about order of interaction, e.g. class diagram Behaviour: dynamic behaviour e.g. use case diagram illustrate how users interact with the system e.g. sequence diagram focusing on interaction between objects and the sequence of these interaction

UML Diagram Notation Use Case Diagram

UML Diagram Notation Class Diagram

UML Diagram Notation Sequence Diagram

Communication Diagram UML Diagram Notation Communication Diagram

In-Class Activity Read the "UWEfilm Cinema Booking System" case study This case study will be used throughout the course

Use Cases and Actors Use case is “… a means for specifying required usages of a system” [UML spec. v2.0]. Software designer maps groups of related scenarios to a series of use cases (captures the functional requirements) establishes who (actors) interact with the use cases, and which use cases work with each other “An actor specifies a role played by a user or any other system that interacts with the subject.” [UML spec. v2.0] Use Case Diagram

Actors Actors represent the role of someone or something that interacts with the system. Actors need not be human, they may be external systems (e.g., credit card verification system) that reside outside of the scope of the system currently being modelled but their involvement is required in order to meet the goals of the system. Interaction between Actors and Systems Actor System Actor request to search for Widget System displays list of potential Widgets Actor chooses Widget System provides Widget details Actor amends Widget details System update Widget details Iconic forms of Actors used in UML

Content of Use Case A textual narrative that describes the functionality or requirements that the use case represents For example, a use case that represented the process of buying an item would be given a name like “Purchase Item”. The contents would be a description describing of the process of purchasing an item. This description normally describes a series of interactions between the system and the actor. This process normally yields a result that is of value to the actor Use Case Diagram

Example Use Case Buying a Product (from UML Distilled p101) Customer browses catalogue and selects item to buy Customer goes to the check out Customer fills in shipping information System presents full pricing information Customer fills in credit card information System authorizes purchase System confirms sale System sends confirming email to customer Extensions 3a: Customer is a regular customer System displays current shipping information Customer may accept or override 6a: System fails to authorize credit purchases Customer may re-enter credit card information or may cancel

In-Class Activity Produce a Use Case diagram for UWEfilm Discussion about the Use Case diagrams

UML Use Case Relationships Buying a Product (from UML Distilled p101) Include To factor common behaviour Promotes reuse of functionality Extend To factor variants of behaviour Promotes new and/or optional functionality

Include Relationship

Extend Relationship

Look at the various modelling tools available (e.g., StarUML, ArgoUML) In-Class Activity Look at the various modelling tools available (e.g., StarUML, ArgoUML) Produce the UWEfilm use case diagram using a modelling tool of your choice Broaden your knowledge by searching online to see other examples where Use Cases have been used. Discuss these using the online “Discussion Board” on Blackboard.