© Andrew IrelandSoftware Design F28SD2 Software Design: Summary Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.

Slides:



Advertisements
Similar presentations
COMET Approach for UML Overview
Advertisements

Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Presentation by Prabhjot Singh
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Software Testing and Quality Assurance
Software Engineering 1 Provisional Revision Plan.
SWE Introduction to Software Engineering
Software Engineering I Object-Oriented Design
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
Systems Analysis and Design in a Changing World, 6th Edition
Course Instructor: Aisha Azeem
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
© Andrew IrelandSoftware Design F28SD2 Architectural Design Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Lesson 7 Guide for Software Design Description (SDD)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Requirement Analysis Functional & Non-Functional Requirements Scenarios Use cases: – View Fixtures – Manage Tournament – Register Team – Report Discrepancy.
Function-oriented Design
Object-Oriented Design Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
© Andrew IrelandSoftware Design F28SD2 Function-oriented Design Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Introduction To System Analysis and Design
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Systems analysis and design, 6th edition Dennis, wixom, and roth
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
1 CMPT 275 High Level Design Phase Modularization.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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 Unified Modeling Language, Version 2.0 Chapter 2.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML (Unified Modeling Language)
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Final Review Systems Analysis and Design in a Changing World, 4th Edition 1 Final Review u Chapters 1-6, 8-10, 13, 14, 15 u Multiple choice, short answer,
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams By Daniel Damaris Novarianto S..
UNIT 1.
The Movement To Objects
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
COMPUTING BTEC LEVEL /17.
SSA(D) vs OOAD M. Pickard CSC 513.
UML Diagrams Jung Woo.
Component Based Software Engineering
CS 425/625 Software Engineering Architectural Design
Object oriented analysis and design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Function-oriented Design
Presentation transcript:

© Andrew IrelandSoftware Design F28SD2 Software Design: Summary Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh

© Andrew IrelandSoftware Design F28SD2 Outline Nature of Software Design Architectural Design Function-oriented Design Object-oriented Design Software Reuse and Component-based Design Verification & Validation

© Andrew IrelandSoftware Design F28SD2 Architectural Design Systems structuring, i.e. identify the key subsystems and the way in which they will communicate –Repository, client-server, layered Control modelling, i.e. how is control managed between the subsystems? –Centralized vs event-based Subsystem decomposition

© Andrew IrelandSoftware Design F28SD2 Function-oriented Design Transaction based systems, minimal state Data flow Structure charts Detailed design

© Andrew IrelandSoftware Design F28SD2 Object-oriented Design Decentralized state, exploiting information hiding and hierarchies Many OOD methods, but common ingredients: –Identification of objects: CRCs; use cases; grammatical analysis –Identification of static perspective: class diagrams –Identification of dynamic perspective: sequence; communication; activity; state machine diagrams

© Andrew IrelandSoftware Design F28SD2 Component-based Design Promote software reuse Key ingredients: –Well defined service (functionality) –Well defined interface –Explicit dependencies –Standardization (component model), e.g. CORBA, EJB, COM (.NET) Compositionality trade-offs Predictability, trustworthiness & certification

© Andrew IrelandSoftware Design F28SD2 Verification & Validation Definitions Static & dynamic analysis Analysis & testing life-cycle Early phase analysis Planning for testing Exploiting design notations (UML) From unit to acceptance testing

© Andrew IrelandSoftware Design F28SD2 Typical Exam Questions Explain concepts and approaches using examples, e.g. “Using an example explain the role of CRCs with software design process” Be able to compare and contrast the relative merits of particular approaches, e.g. “Compare and contrast the trade-offs between component-based design vs designing a system from scratch.”

© Andrew IrelandSoftware Design F28SD2 Typical Exam Questions Given a scenario, be able to propose a software architecture together with a justification Given a scenario, apply a particular technique or approach, e.g. given English requirements develop: DFDs; structure charts; use cases; CRCs; class, sequence communication, activity, state machine diagrams. Alternatively, be able to answer questions on a given design OR extend the design OR compare it against given requirements