Revision Session 1.UML Overview 2.Detailed software design : operation specification, designing for re-use.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Package Diagrams A package diagram is a UML diagram composed only of packages and the dependencies between them. A package is a UML construct that enables.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Engineering 1 Provisional Revision Plan.
CS 425/625 Software Engineering System Models
Revision Session 3 Adding the detail and design for re-use.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
UML and the Software Lifecycle
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Introduction to Systems Analysis and Design Trisha Cummings.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Modelling information systems
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
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.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Introduction To System Analysis and Design
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
CONTENT 1.Software Process 2.Object Technology 3.UML 4.UML For Java.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
UML (Unified Modeling Language)
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Oriented Analysis and Design Introduction to Rational Rose.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Basic Characteristics of Object-Oriented Systems
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
UML (Unified Modeling Language)
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Introduction to OOAD and UML
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Analysis Classes Unit 5.
The Movement To Objects
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Systems Analysis and Design With UML 2
The Process of Object Modeling
Software Architecture & Design Pattern
Introduction to Systems Analysis and Design
Unified Modeling Language
Design and Implementation
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Revision Session 1.UML Overview 2.Detailed software design : operation specification, designing for re-use

Introductory Topics : Sample Questions 1.Discuss in detail the main activities in the software development lifecycle. 2.Compare and contrast some different lifecycle models. 3.What techniques can be used to gather information about the requirements for a proposed system? 4.How can diagramming techniques be used to record such information? Why use them? 5. What is UML? Which UML diagrams be used at different stages in the software lifecycle? 6.Discuss in detail, using examples, the following object oriented design concepts: – Object – Class – Inheritance – Polymorphism

What is UML? Which UML diagrams be used at different stages in the software lifecycle? Need to understand and define the main stages in the lifecycle Need to understand what each diagram is used for and when A sketched/referenced example can illustrate that you understand/ know what you are talking about

Main Activities in the Software Lifecycle Initiation Requirements Gathering(elicit, document, verify) Requirements Analysis Software design Implementation Testing System implementation Review and Maintenance

What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard language- independent way. UML provides diagrams that increase the ease of understanding of an application under development Based round Object oriented techniques

Main UML diagrams and the software Lifecycle Use Case Diagrams Activity Diagrams Sequence Diagrams State Diagrams Class Diagram Package Diagrams Deployment diagrams Requirements gathering Requirements analysis DESIGN Implementation ANALYSIS Software design

Use Case Diagrams- can be used together with use case templates to document and help verify requirements during requirements gathering. The templates are essential as they provide detail. Can also be used to help with user acceptance testing – the software is tested to see if it fits the specified needs. Activity Diagrams- can be used at different stages e.g. To document a high level business process, show the logic of a use case, or to show the logic within an operation

Class Diagram-The UML Class Diagram provides a model that can be easily translated into software components. It shows the static structure of the system and how different entities/objects relate. Can be used in analysis to show... logical classes - things relating to the organisation and with more detail in software design to show implementation classes, which are the things that programmers typically deal with.

Sequence Diagrams – show how objects communicate to achieve the goal of a use case and illustrate the sequence of message.passing. Provide detail on the interaction between objects and the division of responsibility between objects- which classes hold which operations. Used to provide more detail in requirements analysis and also in more detailed software and user interface design State Diagrams- models the different states that a class can be in and how that class transitions from state to state

Package Diagrams- are composed of packages and show the dependencies between them. They enable you to organize model elements, such as use cases or classes, into groups. Packages are depicted as file folders and can be applied on any UML diagram. They are used at the analysis stage to organise requirements into subsystems and at the design stage to depict a high-level overview of your architecture/design. Deployment diagrams- show how a system will be physically deployed in the hardware environment, where the different components of the system will physically run and how they will communicate with each other.

Discuss the types of UML diagram listed below. What can they be used for? Give examples. Use case diagram Class diagram Collaboration/robustness Diagram Activity diagram. Sequence diagram Package Diagram -Need a description (as above) -Define the elements(and use examples) -Draw an example -Active revision to make sure you understand

2. Detailed software Design What are operation specifications used for in systems analysis? Discuss, with the aid of examples, some different ways of specifying operations, both declarative and procedural. An operation is required to calculate a plane fare. First class passengers are charged the first class fare and have 20kg baggage free and free seat pre-booking. Above 20kg they are charged €2 per kilo over and €20 per large item like golf clubs. Normal passengers pay €2 per kilo for all baggage and and €20 per large item like golf clubs. They may pre-book a seat but will pay €5 for this. Write an operation specification for the above operation using an appropriate method or combination of methods. You are also required to justify your particular choice of method/methods.

Discuss three approaches to software reuse. Discuss the meaning of the following concepts, for each indicating how it can contribute to quality software development: – Generalisation (inheritance) – Encapsulation – Components – Patterns

Requirements analysis- identifying classes and relationships Class diagrams : identifying classes and relationships Activity diagrams Robustness/communication diagrams Sequence diagrams State machine diagrams

What are class stereotypes and why are they useful? What are the advantages of this way of partitioning a system using entity, boundary and control class stereotypes?

Approaches to Software re-use Object specification – different methods: pre and postconditions, pseudocode, decision tables etc.