We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byChaim Jaycox
Modified over 4 years ago
© 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
Practical Database Design Methodology and Use of UML Diagrams
COMET Approach for UML Overview
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Testing and Quality Assurance
Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1.
Software Engineering 1 Provisional Revision Plan.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
SWE Introduction to Software Engineering
Software Engineering I Object-Oriented Design
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
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)
© 2018 SlidePlayer.com Inc. All rights reserved.