©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 5 Architecture-Driven Component Development.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Data and Process Modeling
Chapter 10 Class and Method Design
Slide 1 Chapter 10 Class and Method Design. Slide 2 REVISITING THE BASIC CHARACTERISTICS OF OBJECT-ORIENTATION.
Introduction to Software Testing
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Software Architecture in Practice (3rd Ed) Introduction
The Software Development Life Cycle: An Overview
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 3 The Structure and Syntax of Java.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 12 Software Integration and Deployment.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
An Introduction to Software Architecture
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 4 Design and Development of Java Applications.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
Unified Modeling Language, Version 2.0
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 8 Implementing Java Programs.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 13 Java on Various Computer Platforms.
Chapter 9 Moving to Design
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Chapter 7 Applying UML and Patterns Craig Larman
Systems Analysis and Design in a Changing World, 3rd Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Part VII: Design Continuous
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 9 Software Quality Assurance.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Component Design Elaborating the Design Model. Component Design Translation of the architectural design into a detailed (class-based or module- based)
Week 6: Software Design HNDIT Software Engineering Software Design Learning Outcomes  Understand the activities involved in the Design process.
Unit 1 Object-Oriented Design Concepts. Key Concepts Development methodologies Classes and objects Attributes and methods Inheritance and polymorphism.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Basic Characteristics of Object-Oriented Systems
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Pragmatics 4 Hours.
Systems Analysis and Design With UML 2
The Object Oriented Approach to Design
Chapter 19: Interfaces and Components
CIS 375 Bruce R. Maxim UM-Dearborn
An Introduction to Software Architecture
Chapter 19: Interfaces and Components
Chapter 19: Interfaces and Components
Interfaces and Components
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Design.
Chapter 19: Interfaces and Components
Chapter 10 – Component-Level Design
Presentation transcript:

©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 5 Architecture-Driven Component Development

©2007 · Georges Merx and Ronald J. NormanSlide 2 Agenda Perspectives Architecture diagrams Java component interaction and integration

©2007 · Georges Merx and Ronald J. NormanSlide 3 Learning Layout

©2007 · Georges Merx and Ronald J. NormanSlide 4 Learning Connections

©2007 · Georges Merx and Ronald J. NormanSlide 5 Elements of Modular Decomposition High cohesion, low coupling –“Cohesion refers to the functional relatedness of the entities within a module; coupling refers to the interdependency among different modules.” (Jia) Abstraction Integration

©2007 · Georges Merx and Ronald J. NormanSlide 6 Requirements Decomposition Stakeholder Requirements Technical Requirements Environmental Requirements Security Requirements Quality Requirements

©2007 · Georges Merx and Ronald J. NormanSlide 7 Modular Programming (1) Careful creation of comprehensive domain and use case models Systematic development of a flexible, reusable system architecture –Logical and physical organization Packages, subsystems Creating interfaces and super/subclass relationships which maximize the reuse of components –Application of proven design patterns –Use of polymorphism and encapsulation

©2007 · Georges Merx and Ronald J. NormanSlide 8 Modular Programming (2) Method call parameters setup to support flexible component reuse Developing a comprehensive, well- designed design model and class hierarchy –Abstracting reusable components (attributes and methods) –Organizing classes into packages and subsystems –Support for remote invocation Use of available third-party components and technologies which augment system flexibility and extensibility

©2007 · Georges Merx and Ronald J. NormanSlide 9 UML Package Diagram

©2007 · Georges Merx and Ronald J. NormanSlide 10 Interfaces // Interface code: interface Vehicle { public void trackMiles(); /* method required in class implementing this interface */ } // Class code: class Car implements Vehicle { public void trackMiles(){ //... }

©2007 · Georges Merx and Ronald J. NormanSlide 11 Enumerations Enumerations are a special kind of class –Key word enum –Added Release 5.0 –Declares a set of constants represented by identifiers (enumeration constants) –Enumerations can have constructors, fields, and methods like other classes

©2007 · Georges Merx and Ronald J. NormanSlide 12 Composition

©2007 · Georges Merx and Ronald J. NormanSlide 13 Object-Orientation Best Practices Design the class hierarchy for flexible reuse of components, using proven Design Patterns and applying polymorphism Encapsulate objects to provide stable, secure access (implement information hiding) Implement inheritance to generalize reusable methods and attributes through abstraction

©2007 · Georges Merx and Ronald J. NormanSlide 14 Sample Unit Test Specification Outline Brief system and subsystems description Identification of important interfaces and connections (internal and external) Summary of organizational software quality assurance best practices relevant to unit testing –Risk management –Project management (resources, time, budget) –Error discovery, tracking, reporting: closed-loop corrective action –Expected quality levels – error severity management Unit test descriptions and scripts For each unit test: –Test title and description –Test prerequisites/preconditions –Set-up needed (e.g. test/data files; database schema/records; test automation tools; reporting tools) –Testing scripts (step-by-test description of unit test) –Expected outcomes (white-box; black-box; recovery) –Areas not covered – dependencies on other components – interfaces –Result documentation Requirements validation and certification

©2007 · Georges Merx and Ronald J. NormanSlide 15 Build Management Configuration management support discipline –Releases, versions –Quality assurance –Validation testing –Defect tracking and correction

©2007 · Georges Merx and Ronald J. NormanSlide 16 Example Java GUI

©2007 · Georges Merx and Ronald J. NormanSlide 17 Position in Process Implementation phase: construction of most of the code Component implementation Unit testing Integration and validation Iterative approach –Tactical corrections/ adjustments

©2007 · Georges Merx and Ronald J. NormanSlide 18 Quality Implementation Process