University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn CSCI577 Fall 2010 November.

Slides:



Advertisements
Similar presentations
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Advertisements

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
The Use of Zachman Framework Primitives for Enterprise Modeling
© 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.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Unified Modeling Language
Architectural Design.
University of Southern California Center for Systems and Software Engineering Rational Software Modeler Tutorial Pongtip Aroonvatanaporn.
Systems Design. Systems Design Skills People skill (25%) - Listening, understanding others, understanding between two lines, conflict resolution, handling.
Chapter 10 Architectural Design
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
UML - Development Process 1 Software Development Process Using UML (2)
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
Operational Concept Description
HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design.
University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn November 25, /25/20091.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
School of Electrical Engineering and Informatics | ITB | 2010Arry Akhmad Arman Case Study #1 Library System Arry Akhmad Arman School of Electrical Engineering.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 7 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Information Systems Analysis and Management Modeling Sys. Requirements with Use Cases Arnie Lund, Jeffrey Kim May 5, 2009 INFO380.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
University of Southern California Center for Systems and Software Engineering NDI/Services Integration Analysis Pongtip Aroonvatanaporn October 16, 2009.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
Unit 1 Object-Oriented Design Concepts. Key Concepts Development methodologies Classes and objects Attributes and methods Inheritance and polymorphism.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software 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.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
OO Methodology OO Architecture.
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Unified Modeling Language
Software Design Lecture : 15.
Software Analysis.
Design Yaodong Bi.
Presentation transcript:

University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn CSCI577 Fall 2010 November 10, /10/2010 USC-CSSE 1

University of Southern California Center for Systems and Software Engineering Outline Looking back Moving into Design Exercise 11/10/2010USC-CSSE2

University of Southern California Center for Systems and Software Engineering Design in Valuation Less structured Focus on analyzing system to be built “Translate” concepts and requirements into design language May have mismatches and unresolved issues –But high risks items must be addressed Develop at least 1 feasible architecture –TIM or TSM 11/10/2010USC-CSSE3

University of Southern California Center for Systems and Software Engineering For 577 System analysis –System context –Information architecture –Use-cases Only focused on the behavior of the system –What can the system do? –No specific details yet –No actual implementation 11/10/2010USC-CSSE4

University of Southern California Center for Systems and Software Engineering Forward to Foundations Translate system behavior into detailed designs and implementations Convince stakeholders that you have a stable architecture –Based on risks and values Commit to 1 architecture for development –Something that is feasible No unresolved issues or items –No “potential” elements –No unreferenced items (traceability) 11/10/2010USC-CSSE5

University of Southern California Center for Systems and Software Engineering For 577 Polish up the system analysis model Develop a Technology-Specific Design –High risk items –Architecturally significant items –Specify all technologies used Complete traceability of critical use-cases 11/10/2010USC-CSSE6

University of Southern California Center for Systems and Software Engineering Outline Looking back Moving into Design Exercise 11/10/2010USC-CSSE7

University of Southern California Center for Systems and Software Engineering Moving to Design System analysis focus on: –System context –System users and actors –Persistent data (Artifacts and Information) Often reflects database schema Data that are “permanently” stored Design focus on: –System execution architecture –In-memory data Data that are retrieved from database during execution Data obtained from system during execution 11/10/20108USC-CSSE

University of Southern California Center for Systems and Software Engineering Software Deployment An important perspective –Helps determine feasibility of implementation –Hardware and platform support All software must be deployed Most 577 projects have trivial deployment configurations –Few hardware nodes –Rare concerns with mobile 11/10/20109USC-CSSE

University of Southern California Center for Systems and Software Engineering Deployment Model Hardware Components –Include the technologies/platform that run on the hardware Software Components –Contain the executing classes Deployment –Placement of executable components on physical hosts –“Instances” of components 11/10/2010USC-CSSE10

University of Southern California Center for Systems and Software Engineering Hardware Components 11/10/201011USC-CSSE

University of Southern California Center for Systems and Software Engineering Software Components 11/10/201012USC-CSSE

University of Southern California Center for Systems and Software Engineering Deployment 11/10/201013USC-CSSE

University of Southern California Center for Systems and Software Engineering Design Classes Boundary classes –The “end” of the system –What the user sees or interacts with Control classes –Contains the logic of the system Entity classes –The entity or data used during execution time –“In-memory” data 11/10/201014USC-CSSE

University of Southern California Center for Systems and Software Engineering Association Relationships Association –Ability for one component to communicate with another component 11/10/ class A { private: B* itsB; }; USC-CSSE *

University of Southern California Center for Systems and Software Engineering Composition Relationship Composition –Components live and die with the parent 11/10/ class Car { public: virtual ~Car() {delete itsCarb;} private: Carburetor* itsCarb }; USC-CSSE *

University of Southern California Center for Systems and Software Engineering Aggregation Relationship Aggregation –Whole/part relationship –The same as association, but no cyclic relationship –Part cannot contain its whole 11/10/ class Node { private: vector itsNodes; }; USC-CSSE *

University of Southern California Center for Systems and Software Engineering Sequence Diagram Logical sequence representation of the design classes Only model for major use-cases Include all involved classes –Controller –Entities –Boundaries –Actors –Etc. 11/10/201018USC-CSSE

University of Southern California Center for Systems and Software Engineering Clock In Sequence 11/10/201019USC-CSSE

University of Southern California Center for Systems and Software Engineering Notes Always treat NCS components as external component or actors Treat NDI as a component (you do not know its underlying architecture) Only design what you can implement 11/10/201020USC-CSSE

University of Southern California Center for Systems and Software Engineering Outline Looking back Moving into Design Exercise 11/10/2010USC-CSSE21

University of Southern California Center for Systems and Software Engineering Volunteer Tracking System A system to manage volunteers –Online volunteer application submission –Time tracking system –Job management –Authentication –Volunteer management –Award notifications Interfaces with two other systems –EventRSVP (authentication interface) –Newsletter Systems ( interface) –Provide Person Management mechanisms Simplified for this session 11/25/200922

University of Southern California Center for Systems and Software Engineering Technologies Utilized Symfony –PHP framework –Implements Model-View-Controller (MVC) –Provides abstractions between the 3 layers PHP MySQL Apache FreeBSD Supports Internet Explorer and Firefox 11/25/200923

University of Southern California Center for Systems and Software Engineering Information to store Volunteer information Employee information Awards Time sheet Jobs 11/25/200924

University of Southern California Center for Systems and Software Engineering HW/SW Components Hardware –FreeBSD application server –Windows workstations –Mac OS X workstations Software components –User Interface components –Time management component –User management component –Job management component 11/10/2010USC-CSSE25

University of Southern California Center for Systems and Software Engineering Ends at 1:10 pm DEN students: Take 20 mins to evaluate and answer

University of Southern California Center for Systems and Software Engineering Artifacts and Information Diagram 11/25/200927

University of Southern California Center for Systems and Software Engineering Time Management Class 11/10/2010USC-CSSE28