CS485/540 Software Engineering Architecture and Component Design (Chs. 9,10)
|
|
- Byron Flowers
- 6 years ago
- Views:
Transcription
1 CS485/540 Software Engineering Architecture and Component Design (Chs. 9,10) Cengiz Günay Dept. Math & CS, Emory University Fall 2013 Some slides courtesy of Joan Smith, Roger Pressman, Ian Sommerville, and the Internets Günay (Emory) Architecture, Component Design Fall / 7
2 Class #16 Scrum: #9 Due today: Iteration plans User stories and subtasks Assigned to who; are you ready? Timeline: Demo date and audience Günay (Emory) Architecture, Component Design Fall / 7
3 Class #16 Scrum: #9 Due today: Iteration plans User stories and subtasks Assigned to who; are you ready? Timeline: Demo date and audience Due Next Thursday: Preliminary proposals of... Architecture design: including directories Lead developer: Coding standards Test plan: acceptance, integration & unit testing framework Data design: database, data file formats, internal data structures Documentation standards: user, code Günay (Emory) Architecture, Component Design Fall / 7
4 Class #16 Scrum: #9 Due today: Iteration plans User stories and subtasks Assigned to who; are you ready? Timeline: Demo date and audience Due Next Thursday: Preliminary proposals of... Today: Architecture design: including directories Lead developer: Coding standards Test plan: acceptance, integration & unit testing framework Data design: database, data file formats, internal data structures Documentation standards: user, code Chris reading. Architecture, Component-level, and User Interface Design (Chs. 9, 10, 11) Günay (Emory) Architecture, Component Design Fall / 7
5
6 Why Architecture?! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 2!
7 Why is Architecture Important?!! Representations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer-based system.!! The architecture highlights early design decisions that will have a profound impact on all software engineering work that follows and, as important, on the ultimate success of the system as an operational entity.!! Architecture constitutes a relatively small, intellectually graspable mode of how the system is structured and how its components work together [BAS03].! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 3!
8 (c) vintageprintable.com
9 Architectural Styles!! Data-centered architectures!! Data flow architectures!! Call and return architectures!! Object-oriented architectures!! Layered architectures! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 6!
10 Data-Centered Architecture! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 7!
11 Data Flow Architecture! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 8!
12 Call and Return Architecture! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 9!
13 Layered Architecture! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 10!
14 Architectural Patterns!! Concurrency applications must handle multiple tasks in a manner that simulates parallelism!! operating system process management pattern!! task scheduler pattern!! Persistence Data persists if it survives past the execution of the process that created it. Two patterns are common:!! a database management system pattern that applies the storage and retrieval capability of a DBMS to the application architecture!! an application level persistence pattern that builds persistence features into the application architecture!! Distribution the manner in which systems or components within systems communicate with one another in a distributed environment!! A broker acts as a ʻmiddle-manʼ between the client component and a server component.! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 11!
15
16
17
18
19
20
21 Component Structure! SafeHome Executive Function selection External Communication Management Security Surveillance Home management GUI Internet Interface Control panel processing detector management alarm processing (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 15!
22 Refined Component Structure! SafeHome Executive External Communication Management Security GUI Internet Interface Control panel processing detector management alarm processing Keypad processing scheduler phone communication CP display functions alarm (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 16! sensor sensor sensor sensor sensor sensor
23 Horizontal Partitioning! define separate branches of the module hierarchy for each major function! use control modules to coordinate communication between functions! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 23!
24 Vertical Partitioning: Factoring! design so that decision making and work are stratified! decision making modules should reside at the top of the architecture! decision-makers workers (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 24!
25 Structured Design! objective: to derive a program architecture that is partitioned! approach:! a DFD is mapped into a program architecture! the PSPEC and STD are used to indicate the content of each module! notation: structure chart! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 26!
26 General Mapping Approach! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 28!
27 Architectural Complexity! the overall complexity of a proposed architecture is assessed by considering the dependencies between components within the architecture [Zha98]! Sharing dependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers.! Flow dependencies represent dependence relationships between producers and consumers of resources.! Constrained dependencies represent constraints on the relative flow of control among a set of activities.! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 18!
28 ADL!! Architectural description language (ADL) provides a semantics and syntax for describing a software architecture!! Provide the designer with the ability to:!! decompose architectural components!! compose individual components into larger architectural blocks and!! represent interfaces (connection mechanisms) between components.! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 19!
29 Architecture Description Language (ADL) is Dead? Stanford Rapide: Exectuable ADL ( ) Used for Complex event processing (CEP) ( ) UniCon from CMU (obsolete) Aesop from CMU (research ) Wright from CMU ABLE Lab (research ) So anybody alive? Wikipedia page What Industry Needs from Architectural Languages: A Survey (2013) UML (still active!) Günay (Emory) Architecture, Component Design Fall / 7
30 Other Architectural Issues Open Source Development: Choosing a license affects architecture? Platform independence Host-target system problems Günay (Emory) Architecture, Component Design Fall / 7
31 (c) 2.bp.blogspot.com
32 Chapter 10!! Component-Level Design! Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e # by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 1!
33 computepagecost() computepapercost() computeprodcost() computetotaljobcost() buildworkorder() checkpriority () passjobto Production() numberofpages numberofsides papertype paperweight papersize papercolor magnification colorrequirements productionfeatures collationoptions bindingoptions coverstock bleed priority totaljobcost WOnumber computepagecost () computepapercost() computeprodcost() computetotaljobcost () buildworkorder() checkpriority () passjobto Production() OO Component! analysis class PrintJob numberofpages numberofsides papertype magnification productionfeatur es computejobcost() passjobtoprinter() computejob design component PrintJob initiatejob <<interface>> computejob <<interface>> initiatejob elaborated design class PrintJob (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 3!
34 Conventional Component! getjobdata design component ComputePageCost accesscostsdb elaborated module PageCost in: numberpages in: numberdocs in: sides= 1, 2 in: color=1, 2, 3, 4 in: page size = A, B, C, B out: page cost in: job size in: color=1, 2, 3, 4 in: pagesize = A, B, C, B out: BPC out: SF getjobdata (numberpages, numberdocs, sides, color, pagesize, pagecost) accesscostsdb(jobsize, color, pagesize, BPC, SF) computepagecost() job size (JS) = numberpages * numberdocs; lookup base page cost (BPC) --> accesscostsdb (JS, color); lookup size factor (SF) --> accesscostdb (JS, color, size) job complexity factor (JCF) = 1 + [(sides-1)*sidecost + SF] pagecost = BPC * JCF (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 4!
35 Basic Design Principles!! The Open-Closed Principle (OCP). A module [component] should be open for extension but closed for modification."! The Liskov Substitution Principle (LSP). Subclasses should be substitutable for their base classes."! Dependency Inversion Principle (DIP). Depend on abstractions. Do not depend on concretions.!! The Interface Segregation Principle (ISP). Many client-specific interfaces are better than one general purpose interface."! The Release Reuse Equivalency Principle (REP). The granule of reuse is the granule of release.!! The Common Closure Principle (CCP). Classes that change together belong together. "! The Common Reuse Principle (CRP). Classes that arenʼt reused together should not be grouped together.! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 5!
36 Design Guidelines!! Components!! Naming conventions should be established for components that are specified as part of the architectural model and then refined and elaborated as part of the component-level model!! Interfaces!! Interfaces provide important information about communication and collaboration (as well as helping us to achieve the OPC)!! Dependencies and Inheritance!! it is a good idea to model dependencies from left to right and inheritance from bottom (derived classes) to top (base classes).! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 6!
37 Cohesion!! Conventional view:!! the single-mindedness of a module!! OO view:!! cohesion implies that a component or class encapsulates only attributes and operations that are closely related to one another and to the class or component itself!! Levels of cohesion!! Functional!! Layer!! Communicational!! Sequential!! Procedural!! Temporal!! utility! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 7!
38 Coupling!! Conventional view:!! The degree to which a component is connected to other components and to the external world!! OO view:!! a qualitative measure of the degree to which classes are connected to one another!! Level of coupling!! Content!! Common!! Control!! Stamp!! Data!! Routine call!! Type use!! Inclusion or import!! External! (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.! 8!
!"#$%&'()*+,-*,--)./00#'1)2)345"645"%()
!"#$%&'()*+,-*,--)./00#'1)2)345"645"%() Chapter 9!! Architectural Design! Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e # by Roger S. Pressman Slides copyright 1996, 2001,
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 14 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationcopyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner s Approach, 6/e Chapter 10 Architectural Design copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student
More informationComponent-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman (revised by Seung- Hoon Na) For non-profit educational use only
Chapter 14 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman (revised
More information09. Component-Level Design
09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a
More informationR.S. Pressman & Associates, Inc. For University Use Only
Software Engineering: A Practitioner s Approach, 6/e Chapter 10 Architectural Design copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student
More informationSE300 SWE Practices. Lecture 10B Component Design (Abstraction, Interface/Implementation, Cohesion, Coupling, Refactoring) Tuesday, March 17, 2015
SE300 SWE Practices Lecture 10B Component Design (Abstraction, Interface/Implementation, Cohesion, Coupling, Refactoring) Tuesday, March 17, 2015 Sam Siewert Synchronization with Text SEPA (Pressman) Chapter
More informationDesign Concepts and Principles
Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data
More informationMoonzoo Kim CS Division of EECS Dept. CS350 Intro. to SE Spring
Chapter 11 Component-Level Design Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs350-07 Spring 2008 1 Overview of Ch 11. Modeling Component-level
More informationTesting Object-Oriented Applications. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S.
Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman
More informationDesign Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman
Chapter 8 Design Concepts Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational
More informationSOFTWARE ENGINEERING SOFTWARE DESIGN. Saulius Ragaišis.
SOFTWARE ENGINEERING SOFTWARE DESIGN Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Design Learning Objectives: Discuss the properties of good software design including the nature and
More informationCHAPTER 5: PRINCIPLES OF DETAILED DESIGN
CHAPTER 5: PRINCIPLES OF DETAILED DESIGN SESSION II: STRUCTURAL AND BEHAVIORAL DESIGN OF COMPONENTS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E.
More informationFaculty of Information Technology Department of SE Marking Scheme
Philadelphia University Lecturer : Dr. Moayad A. Coordinator : Dr. Moayad A. Internal Examiner: Dr. Murad Mouash Software Design (721322) Date: zo" December 2012 - ---- Second Exam Section: 1 Faculty of
More informationComponent-Level Design
Component-Level Design Minsoo Ryu Hanyang University Contents 1. Design Model 2. Fundamental Design Concepts 3. Component-Level Design 4. Object-Oriented Design Techniques 2 2 Data/class design Four Design
More information3 Product Management Anti-Patterns by Thomas Schranz
3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about
More informationTesting Object-Oriented Applications. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman
More informationCS485/540 Software Engineering Requirements Modeling (Ch. 6)
CS485/540 Software Engineering Requirements Modeling (Ch. 6) Cengiz Günay Dept. Math & CS, Emory University Fall 2013 Some slides courtesy of Joan Smith and Roger Pressman Günay (Emory) Requirements Modeling
More informationCS485/540 Software Engineering Design Concepts (Ch. 8)
CS485/540 Software Engineering Design Concepts (Ch. 8) Cengiz Günay Dept. Math & CS, Emory University Fall 2013 Some slides courtesy of Joan Smith, Roger Pressman, and the Internets Günay (Emory) Design
More informationRequirements Modeling (Ch. 6)
Requirements Modeling (Ch. 6) Cengiz Günay CS485/540 Software Engineering Fall 2014 Some slides courtesy of Joan Smith and Roger Pressman Günay (Emory MathCS) Requirements Modeling Fall 2014 1 / 8 (c)
More informationUser Interface Design. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman
Chapter 11 User Interface Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit
More informationLecture 8: Chapter 8!
Lecture 8: Chapter 8! Design Concepts! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationUNIT III DESIGN CONCEPTS AND PRINCIPLES
UNIT III DESIGN CONCEPTS AND PRINCIPLES Design process and concepts modular design design heuristic design model and document. Architectural design software architecture data design architectural design
More informationSoftware Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014
More informationArchitectural Design
Architectural Design Minsoo Ryu Hanyang University 1. Architecture 2. Architectural Styles 3. Architectural Design Contents 2 2 1. Architecture Architectural design is the initial design process of identifying
More informationThe Nature of Software. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 1 The Nature of Software Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger
More informationUser Interface Design. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 15 User Interface Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger
More informationSlides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 16 Pattern-Based Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger
More informationSoftware Engineering
Software Engineering CSC 331/631 - Spring 2018 Object-Oriented Design Principles Paul Pauca April 10 Design Principles DP1. Identify aspects of the application that vary and separate them from what stays
More informationAbstraction. Design fundamentals in OO Systems. Fundamental Software Development Principles
Abstraction Design fundamentals in OO Systems Tool for abstraction: object Object structure: properties and values for those properties operations to query and update those properties We refer to the collection
More informationCT41 (ALCCS) SOFTWARE ENGINEERING JUN 2015
Q.1 a. What is the role of software engineering? (4) Role of software engineering with reference to producing good quality software, maintainable software, and on time within budget. b. Differentiate between
More informationReminders. Emory Horror Code:
Reminders Emory Horror Code: Request permission and document any code you did not write We won't hesitate to report you: will cause a dent in your life Reminders Emory Horror Code: Request permission and
More informationSoftware Testing Strategies. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman
Chapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For
More informationRequirements Modeling: Flow, Behavior, Patterns, and Webapps (Ch. 7)
Requirements Modeling: Flow, Behavior, Patterns, and Webapps (Ch. 7) Cengiz Günay CS485/540 Software Engineering Fall 2014, Some slides courtesy of Joan Smith, Roger Pressman, and the Internets Günay (Emory
More informationSlides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only
Chapter 11 Requirements Modeling: Behavior, Patterns, and Web/Mobile Apps Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman Slides copyright 1996, 2001, 2005,
More informationChapter 12 (revised by JAS)
Chapter 12 (revised by JAS) Pattern-Based Design Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman
More informationAgile Software Development
Agile Software Development Principles, Patterns, and Practices Robert Cecil Martin Alan Apt Series Prentice Hall Pearson Education, Inc. Upper Saddle River, New Jersey 07458 Foreword Preface About the
More informationUNIT III. Software Design
UNIT III Software Design Design Specification Models Data design - created by transforming the analysis information model (data dictionary and ERD) into data structures required to implement the software
More informationSummary of the course lectures
Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and
More informationSOLID Principles. Equuleus Technologies. Optional Subheading October 19, 2016
SOLID Principles Optional Subheading October 19, 2016 Why SOLID Principles? The traits of well designed software are as follows Maintainability - The ease with which a software system or component can
More informationFunctional Design of Web Applications. (partially, Chapter 7)
Functional Design of Web Applications (partially, Chapter 7) Functional Design: An Overview Users of modern WebApps expect that robust content will be coupled with sophisticated functionality The advanced
More informationChapter 7 Desain Rekayasa Perangkat Lunak Analysis Modeling. Software Engineering: A Practitioner s Approach by Roger S. Pressman
Chapter 7 Desain Rekayasa Perangkat Lunak Analysis Modeling Software Engineering: A Practitioner s Approach by Roger S. Pressman Material Scenario-Based Modeling Flow Oriented Modeling Class-Bases Modeling
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationOO Package Design Principles
4 4.1 Packages Introduction 4.2 Packages in UML 4.3 Three Package Design Principles 4.4 Development Environment (Three more principles) 4.5 Summary 1 4.1 Packages Introduction What is a package? Classes
More informationChapter : Analysis Modeling
Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints
More informationIntroduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M
Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects
More informationSRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR
SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS LESSON PLAN (2017-2018) Course / Branch : BCA Total Hours : 45 Subject Name : OBJECT ORIENTED
More informationDesign Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman
CS314, Colorado State University Software Engineering Notes 4: Principles of Design and Architecture for OO Software Focus: Determining the Overall Structure of a Software System Describes the process
More informationINTERNAL ASSESSMENT TEST III Answer Schema
INTERNAL ASSESSMENT TEST III Answer Schema Subject& Code: Object-Oriented Modeling and Design (15CS551) Sem: V ISE (A & B) Q. No. Questions Marks 1. a. Ans Explain the steps or iterations involved in object
More informationSoftware Architecture and Design I
Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 4, Part-2 Architectural Design January 28, 2019 Sam Siewert OOA/OOD vs. SA/SD Last Year s Consensus - 50% OO Helps, 50% Undecided Discussion of OOA
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 3 Systems Requirements January 21, 2015 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL WATERFALL XP
More informationSoftware Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman. Slides copyright 1996, 2001, 2005, 2009 by Roger S.
Chapter 13 WebApp Design Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational
More informationSoftware Engineering. Session 7 Main Theme From Analysis and Design to Software Architectures (Part I) Dr. Jean-Claude Franchitti
Software Engineering Session 7 Main Theme From Analysis and Design to Software Architectures (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
More informationCHAPTER 5: PRINCIPLES OF DETAILED DESIGN. Software Engineering Design: Theory and Practice
CHAPTER 5: PRINCIPLES OF DETAILED DESIGN Software Engineering Design: Theory and Practice 1 1. Detailed Design Fundamentals 2. Structural and Behavioral Design of Components Software Engineering Design:
More informationCSC207H: Software Design SOLID. CSC207 Winter 2018
SOLID CSC207 Winter 2018 1 SOLID Principles of Object-Oriented Design How do we make decisions about what is better and what is worse design? Principles to aim for instead of rules. e.g. there is no maximum
More informationAgile Principles, Patterns, and Practices in C#
Agile Principles, Patterns, and Practices in C# Robert C. Martin Micah Martin 22 Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid!ENTICE,,,.
More informationStatic Modeling. SWE 321 Fall2014
Static Modeling SWE 321 Fall2014 Copyright 2014 Hassan Gomaa and Robert Pettit All rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Software quality and Object Oriented Principles
Ingegneria del Software Corso di Laurea in Informatica per il Management Software quality and Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal
More informationSingle Responsibility Principle (SRP)
Single Responsibility Principle (SRP) Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhán Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/ SOLID Class Design
More informationCS 292 Software Development
CS 292 Software Development and Professional Practice Structured Design and More Design Principles CS 292 Design Principles 1 Unless otherwise expressly stated, all original material of whatever nature
More informationComponents Based Design and Development. Unit 3: Software Design Quick Overview
Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 15: Object-Oriented Principles 1 Open Closed Principle (OCP) Classes should be open for extension but closed for modification. OCP states that we should
More informationArchitectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten
Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)
More informationIntroduction to Object Oriented Analysis and Design
A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,
More informationLearning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli
Identify and overcome the difficulties encountered by students when learning how to program List and explain the software development roles played by students List and explain the phases of the tight spiral
More informationLecture 14: Chapter 18!
Lecture 14: Chapter 18! Testing Conventional Applications! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by
More informationSlides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only
Chapter 12 Design Concepts Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S.
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More informationCHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE SESSION II: DATA-CENTERED, DATA-FLOW, AND DISTRIBUTED SYSTEMS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright
More informationChapter 9 Design Engineering
Software Engineering: A Practitioner s s Approach, 6/e Chapter 9 Design Engineering copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student
More informationADIKAVI NANNAYA UNIVERSITY B. A Computer Applications / B.Sc Computer Science/B.Sc IT Syllabus Under CBCS w.e.f
Course Objective: Paper-V: Data Base Management System Design & develop database for large volumes & varieties of data with optimized data processing techniques. Course Outcomes On completing the subject,
More informationSE 1: Software Requirements Specification and Analysis
SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)
More informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
More informationCOURSE 2 DESIGN PATTERNS
COURSE 2 DESIGN PATTERNS CONTENT Fundamental principles of OOP Encapsulation Inheritance Abstractisation Polymorphism [Exception Handling] Fundamental Patterns Inheritance Delegation Interface Abstract
More informationSOFTWARE LAYERS AND MEASUREMENT
SOFTWARE LAYERS AND MEASUREMENT Jean-Marc Desharnais, Software Engineering Laboratory in Applied Metrics Denis St-Pierre, DSA Consulting Inc. Serge Oligny, Laboratoire de recherche en gestion des logiciels
More informationFinal Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format
Final Exam Final Exam Review CS 4354 Fall 2012 Jill Seaman Friday, December 14, 11AM Closed book, closed notes, clean desk Content: Textbook: Chapters 1, 2, 4-10 Java Lectures, GRASP + JUnit 35% of your
More informationSoftware Engineering (CSC 4350/6350) Rao Casturi
Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams
More information06. Analysis Modeling
06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches
More informationcopyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner s Approach, 6/e Chapter 7 Requirements Engineering copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student
More informationSystems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development
More informationObjectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture
Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 4, Part-1 Architectural Design January 29, 2018 Sam Siewert Architecture and Design Patterns Focus on What is Being Designed and Built OO Has Goal
More informationSRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A
SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld
More informationSoftware Design And Modeling BE 2015 (w. e. f Academic Year )
Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationSystem Design. Design: HOW to implement a system
System Design Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1
More informationSE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.
SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used
More informationPrinciples of Object-Oriented Design
Principles of Object-Oriented Design Part II 1 The Law of Demeter Any object receiving a message in a given method must be one of a restricted set of objects. 1. Strict Form: Every supplier class or object
More informationEngr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving
More informationEasyChair Preprint. Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles
EasyChair Preprint 508 Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles Intan Oktafiani and Bayu Hendradjaya EasyChair preprints are intended for rapid dissemination
More informationSoftware Development
Software Development and Professional Practice Object-Oriented Design Part the Third: (in which we revisit several parts of the OOA&D process, culminating in some general design principles) Object Oriented
More informationObject-Oriented Design
Object-Oriented Design Department of Computer Engineering Lecture 12: Object-Oriented Principles Sharif University of Technology 1 Open Closed Principle (OCP) Classes should be open for extension but closed
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationChapter 9 Design Engineering
Chapter 9 Design Engineering Moonzoo Kim CS Division of EECS Dept. KAIST 1 Roadmap of SEPA covered in CS550 Ch 1 Ch 5 1. Intro to SE 2. A Generic View of Process 3. Process Models 4. An Agile View of Process
More informationCOMP 6471 Software Design Methodologies
COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Week 7 Outline Software Architecture Layered Architecture Model-View-Control
More informationObject-Oriented Design I - SOLID
Object-Oriented Design I - SOLID SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Single responsibility Open/close Liskov substitution
More information