Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.

Slides:



Advertisements
Similar presentations
1 Classes and Objects in Java Basics of Classes in Java.
Advertisements

© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
© 2005 by Prentice Hall Chapter 13 Finalizing Design Specifications Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 7 System Models.
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
1 DTI/EPSRC 7 th June 2005 Reacting to HCI Devices: Initial Work Using Resource Ontologies with RAVE Dr. Ian Grimstead Richard Potter BSc(Hons)
Week 2 The Object-Oriented Approach to Requirements
Lilian Blot Announcements Teaching Evaluation Form week 9 practical session Formative Assessment week 10 during usual practical sessions group 1 Friday.
Configuration management
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Object-Oriented Programming. 2 An object, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain.
Executional Architecture
Chapter 11 Component-Level Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Modeling Main issues: What do we want to build How do we write this down.
From Model-based to Model-driven Design of User Interfaces.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Introduction To System Analysis and Design
Software Testing and Quality Assurance
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
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.
Object-oriented Programming Concepts
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
C++ fundamentals.
The chapter will address the following questions:
Introduction To System Analysis and design
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Programming Languages and Paradigms Object-Oriented Programming.
Object Orientation An Object oriented approach views systems and programs as a collection of interacting objects. An object is a thing in a computer system.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CISC6795: Spring Object-Oriented Programming: Polymorphism.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
CSE 425: Object-Oriented Programming I Object-Oriented Programming A design method as well as a programming paradigm –For example, CRC cards, noun-verb.
SE: CHAPTER 7 Writing The Program
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
Classes. Constructor A constructor is a special method whose purpose is to construct and initialize objects. Constructor name must be the same as the.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
1 n Object Oriented Programming. 2 Introduction n procedure-oriented programming consists of writing a list of instructions and organizing these instructions.
Sections Inheritance and Abstract Classes
Cmpe 589 Spring 2006.
Chapter ? Quality Assessment
Unified Modeling Language
OOP What is problem? Solution? OOP
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
ITEC 3220A Using and Designing Database Systems
Design Yaodong Bi.
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently formal (does not provide info on what stimuli to send etc., to provide seamless transition) –system must be adapted to implementation environment (fig 8.1) –to validate analysis result. Proceed to coding only if the results are appropriate for construction do not optimize at this stage. (simulate critical elements or prototype for optimizing, if necessary)

Activities in construction phase Fig. 8.2 Identify implementation environment Incorporate the results and develop a first approach to a design model Describe how objects interact in each specific use case (all stimuli, and what each operation will do to an object)

Design model - traceability The design model gives a detailed description of all objects including operations and attributes. We define the interfaces of the objects and also the semantics of the operations. Design model is composed of blocks which are design objects. These blocks will later be implemented by the source code. Initially each analysis object becomes a block (hence traceability) Each block should be cohesive Fig 8.3 Fig 8.4 Blocks help in identifying construction errors in early stage

Design model - implementation environment Keep few encapsulated objects that are aware of the constraints of the implementation environment (fig 8.5) This can be done through –abstract class that specifies the interface, which is implemented in environment specific descendants that are instantiated as required by the chosen platform –the object can check which platform it is running on and execute the correct statement –link different.c files for different environments, with the interface defined in the header file (conditional compile) implementation factors that may affect design –programming language (error handling, memory management such as automatic garbage collection) –components library –existing products –requirements for performance or limitation of memory –people and organization - division of work based on core competency

Common changes to design due to environmental considerations –introduce design blocks in the design model which do not exist in the analysis model –delete blocks –split or join existing blocks –change associations between blocks in the design model (fig 8.6) Fig stimulus sent up the inheritance hierarchy - call through Think about components at this stage.... Use it where there is a [0...N] acquaintance association (Fig 8.8) Before we implement blocks, we must describe in detail how they are to communicate with one another

Design model - Interaction diagrams describes communication between blocks create one diagram for each concrete use case it shows how objects/blocks behave in each use case (Fig 8.9) Fig 8.10 shows the operation in the interaction diagram

Design model - Stimuli Interaction diagrams are controlled by events (stimuli sent from one object to another and initiate an operation) pg 219, Fig 8.11 While defining stimuli, keep the following in mind –reusability increases if we have fewer parameters in a stimuli –stimuli that invoke similar behavior should have same name –naming of stimuli should reflect the distribution of responsibilities between blocks –it should clearly show exchange of info., name should be selected carefully to reflect this –handling the creation of new instances or initiation of new processes are performed in the same manner as ordinary stimulus handling intra-process communication (message) vs. Inter-process communication (signal)(fig. 8.12)

Design model - Structure of interaction diagrams centralized (fig 8.13) decentralized (fig 8.14) Fig (8.15) Which is better –centralized (fork) is better when »the operations can change order »new operations could be inserted –decentralized is better when »operations have strong connection (p226) »the operations will always be performed in same order

Design model - Use cases with extension extension of one use case by another is represented by a probe position. This position indicates a position in the use case to be extended and is often accompanied by a condition which indicates under what circumstances the extension should take place. The probe belongs to the extending use case, not the original extended use case Homogenization of stimuli is also required in the design phase Use as few stimuli as possible (with maximum reuse)

Block Design Starts after designing all the use cases for a block implementation of the blocks start with the freezing of the block interfaces ancestor blocks should be implemented before descendant blocks interface for Returning item block is got with the help of the interaction diagram ( pg 231) public and private block modules (8.18) other requirements can be got from requirements spec. (real time, memory space requirements etc.)

Object Behavior computational state: how far we have come in execution and potential future execution internal state: values of our variables that are important for the description of the object, variables relating to application and implementation environment state transition diagrams ( ) an object that will perform the same operation independent of the state when a certain stimulus is received is called a stimulus controlled object. Objects that implement entity objects are normally stimulus controlled. Objects that select operations based on its current state are called state-controlled objects. e.g., stack object - since we cannot pop out of an empty stack etc. Objects that implement control objects are normally state- controlled.

Internal block structure Detailed analysis and design can lead to automatic generation of this code homogenization of classes design as many component classes to use in design of classes to implement a block can encapsulate handling of instances (exists(), etc) and the actual instance in(increase counter etc) the same block

Implementation Use OO languages if possible traceability Table 8.1, (page 247) implementation of probes (250)