1 Here are some quotations to get an overview of the kinds of issues of interest.

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Basic Concepts in Component-Based Software Engineering
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
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 1.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Introduction To System Analysis and design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
Design Patterns.
Software Engineering Reuse.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
An Introduction to Software Architecture
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
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 27. Review UML dynamic view – State Diagrams.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
The Systems Development Life Cycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Design Patterns By Mareck Kortylevitch and Piotreck Ratchinsky.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas -A large element is use of UML as.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Design Patterns Introduction
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
6.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Object-Orientated Analysis, Design and Programming
CompSci 280 S Introduction to Software Development
Objects First with Java A Practical Introduction using BlueJ
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Design Patterns Lecture part 2.
Introduction to Design Patterns
Object-Oriented Design
Patterns.
Slides by Steve Armstrong LeTourneau University Longview, TX
SYS466 Domain Classes – Part 1.
An Introduction to Software Architecture
CS 8532: Advanced Software Engineering
Chapter 22 Object-Oriented Systems Analysis and Design and UML
From Use Cases to Implementation
Lecture 3 – Data collection List ADT
Presentation transcript:

1 Here are some quotations to get an overview of the kinds of issues of interest.

2 Components & Objects [Ref (4), p36] “Objects … encapsulate state and behaviour, and have a unique identity. The behaviour and structure of objects are defined by the classes. A class … Implements the concept of an Abstract Data Type (ADT)* and provides an abstract definition of the behaviour of its objects. Provides the implementation of object behaviour. Is used for creating objects I.e. instances of the class. The basic premise of object-orientation is to construct programs from sets of collaborating and interacting objects. * An ADT specifies the type of data stored, the operations performed on them, and the types of the parameters of the operations. An ADT specifies what each operation does but not how it does it.

3 Components & Objects [continued] Components are similar to classes*. Like classes, components define object behaviour and create objects [i.e.] component instances. Both components and classes make their implemented functionality available through abstract behaviour descriptions called interfaces. Unlike classes, the implementation of a component is generally completely hidden … Unlike classes, component names may not be used as type names. … Most important distinction is that software components conform to a standard defined by a component model. * At least as ‘component’ is as defined in Ref 4.

4 A few definitions [from ref 2] “Design Pattern: A template solution that developers have refined over time to solve a range of recurring problems. A design pattern includes a name, a problem description, a solution, and a set of consequences. [ e.g. ref (2) presents examples, [Also, check out internet lots of stuff] - Abstract factory - Adapter (wrapping legacy code - Bridge (allowing for alternate implementations etc ]” “Framework: A set of classes providing a general solution that can be refined to provide an application or a subsystem” “Unified Modeling Language (UML): A standard set of notations for representing models”

5 Types of Reuse * [from ref 3] Object code Classes - In source code form Assemblies of related classes Patterns of class assemblies Also, “A straightforward kind of reuse is one in which we do not alter the element being reused. … component technology uses this approach.” * Remember that authors may have different views of such topics!

6 A Caveat about Component- Based Software Engineering [from ref 4] “For component-based software engineering to revolutionize software development, developers must be able to produce software significantly cheaper and faster [than heretofore]. At the same time, the resulting software must meet high reliability standards while being easy to maintain. …” Problems may well arise in verifying these objectives: - Cannot unit test? - Is “component” tested in every anticipated environment [ example of ARIANE failure checked 30/09/2004 ]? - How to maintain, upgrade software with components? [A problem is that components are bought in and source code may not be available]

7 Re UML - “OMG Unified Modeling Language Specification”, Version 1.5 can be viewed from module web-pages. -We will occasionally use material from this specification but it is definitely not necessary to be familiar with all of it. -Information point: Version 2.0 has been issued recently. - We extracted some material (below) from the specification to highlight that UML supports different models of a system that are suitable for different viewpoints (user, customer, requirements, design, installation etc)

8 Extract from p3-24 of UML spec A model captures a view of a physical system. Hence, it is an abstraction of the physical system with a certain purpose; for example, to describe behavioral aspects of the physical system to a certain category of stakeholders. A model contains all the model elements needed to represent a physical system completely according to the purpose of this particular model. …

9 Extract from p3-25 of UML spec Figure 3-14 Three views of a physical system, each represented by a model.

10 Overview of UML Notation Four lecture slides to summarise all the main UML notations can be found at the website of Stevens’ & Pooley’s book (Ref 1 – first edition). See the last pages at