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 2 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
Presentation by Prabhjot Singh
Software Engineering 1 Provisional Revision Plan.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
© Andrew IrelandSoftware Design F28SD2 Function-oriented Design Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.
© Andrew IrelandSoftware Design F28SD2 Architectural Design Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
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.,
Software Testing and Quality Assurance
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Requirement Analysis Functional & Non-Functional Requirements Scenarios Use cases: – View Fixtures – Manage Tournament – Register Team – Report Discrepancy.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fifth Edition
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Unified Modeling Language, Version 2.0
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.
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.
© 2017 SlidePlayer.com Inc. All rights reserved.