Action-Oriented Design Methods
|
|
- Alyson McGee
- 6 years ago
- Views:
Transcription
1 Action-Oriented Design Methods Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Gruppe Softwaretechnologie Softwaretechnologie II, Prof. Uwe Aßmann 1
2 Contents Use Cases Structured Analysis/Design (SA/SD) Structured Analysis and Design Technique (SADT) 2
3 Obligatory Reading Ghezzi Ch. 3.3, 4.1-4, 5.5 Pfleeger Ch , 5 3
4 Secondary Literature Usually, action-oriented design is structured, i.e., based on hierarchical refinement. Resulting systems are reducible, i.e., all results of the graph-reducibility techniques apply. 4
5 Action-oriented Design What are the actions the system should perform? Action-oriented design is similar to function-oriented design, but admits that the system has states. It asks more for the internals of the system Actions require state on which they are performed (imperative, stateoriented style) Divide: finding subactions Conquer: grouping to modules 5
6 Use Case Diagram (UCD) A Use Case Diagram consists of several use cases of a system A use case describes an application, a coarse-grain function or action of a system, in a certain relation with actors A use case contains a scenario sketch Pseudocode text which describes the functionality 6 6
7 Example Service Station A Service Station has 4 tasks [Pfleeger] Parking Refueling Maintenance Parking Preventive Maintainance Refueling Customer Maintenance Preventive Maintenance <<extends>> Manager 7 7
8 Questions for Use Cases What is the system/subsystem? Who is Actor? A user An active object A person A system Must be external to the described system What are the Applications/Uses? What are the relations among Use Cases Extends: Extend an existing use case (Inheritance) Uses: Reuse of an existing use case (Sharing) 8 8
9 Questions to help What Users External systems Use Need the system for which tasks? Are tasks or relations to complex? 9 9
10 Refinement Service Station We introduce an abstraction of the services Credit Card System Manager Customer Billing Services Preventive Maintenance Parking Refueling Maintenance 10 10
11 Second Refinement Service Station Customer Credit Card System Accounting Services Printer System Parking Billing Services Refueling Maintenance Manager Preventive Maintenance 11 11
12 Third Refinement Service Station The <<includes>> relationship allows for decomposition of a use case. <<includes>> is a form of <<part-of>> initiates Maintenance Inspection <<includes>> Manager Diagnosis Technician Therapy Accounting Services Recording Efforts Customer 12
13 Consistency Checking Check List Use Case Diagrams One diagram Clarity Simplicity Completeness Match the stories of the customer? Missing actors? Several diagrams Which actions occur in several diagrams? Are they specified consistently? Should actors from shared actions be replicated to other UCD? 13 13
14 How To Go On from a Use Case Diagram There are several ways how to reach a design from a use case diagram Hierarchical refinement of the actions into UCD of second level, yielding a reducible specification Disadvantage of UCD: Hierarchical refinement is sometimes difficult, because new actors have to be added Leads to a correction of the top-level UCD Action tree method: action-oriented method to refine the use case actions with an action tree Collaboration diagram method: object-oriented method to analyse paths in the use case diagram with communication (collaboration) diagrams (see later) 14
15 Hierarchical Refinement of a Use Case Often, new actors have to be added during refinement Diagnosis Technician Evaluate inspection data Consult other experts Consult manual Diagnosis new actor!! Technician 15
16 Deriving an Action Tree from a Use Case DomainTransformation: From a UCD, set up an action tree <<includes>> expresses a part-of hierarchy of actions Refinement: Refine the actions by decomposition Maintenance Inspection Diagnosis Therapy Recording Efforts Watching Inspect Error codes Combine inspection results Consult other experts..other.. 16
17 Benefits of Use Cases Use cases are good for Documentation Communication with customers and designers Are started for the first layout of the structural model To find classes, their actions, and relations In extreme Programming (XP), use cases are called stories which are written down on one muddy card collected and implemented one after the other XP does not look at all use cases together, but implements one after the other 17
18 Action-Oriented Design with SA/SD Softwaretechnologie II, Prof. Uwe Aßmann 18
19 Structured Analysis and Design (SA/SD) [DeMarco, T. Structured Analysis and System Specification, Englewood Cliffs: Yourdon Press, 1978] Representation Function trees: decomposition of system functions Data flow diagrams (DFD), in which the actions are called processes Data dictionary (context-free grammar) describes the structure of the data that flow through a DFD Pseudocode (minispecs) describes central algorithms Decision Table and Trees describes conditions (see later) 19
20 Structured Analysis and Design (SA/SD) - Process On the highest abstraction level: Elaboration: Define interfaces of entire system by a top-level function tree Elaboration: Identify the input-output streams most up in the function hierarchy Elaboration: Identify the highest level processes Elaboration: Identify stores Refinement: Decompose function tree hierarchically ChangeRepresentation: transform function tree into process diagram (action/data flow) Elaboration: Define the structure of the flowing data in the Data Dictionary Check consistency of the diagrams Elaboration: Minispecs (pseudocode) 20
21 Function Trees and DFDs RepresentationChange: Construct a function tree and transform it to the actions of a DFD put tea in pot produce tea add boiling water composition wait produce tea put tea in pot Pot add boiling water store/file fetch tea from tea box open pot close pot wait action Cup 21
22 Decomposition of DFDs and Actions put tea in pot put tea in pot put tea in pot Fetch tea from tea box Pot Open pot fetch tea from tea box open pot close pot Pot Close Pot Pot 22
23 Data Flow in UML UML activity diagrams can also specify dataflow, but use a different syntax. put tea in pot put tea in pot put tea in pot Fetch tea from tea box Pot Open pot fetch tea from tea box open pot close pot Pot Close Pot Pot 23
24 Data Dictionary with EBNF In an SA model, the data dictionary describes the context free structure of the data For every edge in the DFDs, it contains a context-free grammar that describes the flowing data items Notation is also called Extended Backus-Naur Form (EBNF) Notation Meaning Example ::= or = Consists of A ::= B. Sequence + Concatenation A ::= B+C. Sequence <blank> Concatenation A ::= B C. Selection [ ] Alternative A ::= [ B C ]. Repetition { }^n A ::= { B }^n. Limited repetition m { } n Repetition from m to n A ::= 1 { B } 10. Option ( ) Optional part A ::= B (C). 24
25 Data Dictionary DataInPot ::= TeaPortion WaterPortion. TeaAutomatonData ::= Tea Water TeaDrink. Tea ::= BlackTea FruitTea GreenTea. TeaPortion ::= { SpoonOfTea }. SpoonOfTea ::= Tea. WaterPortion ::= { Water }. 25
26 Adding Types to DFDs Nonterminals from the data dictionary become types on flow edges (Alternatively, types from a UML class diagram can be annotated) produce tea put tea in pot GreenTea add boiling water Water Pot wait TeaDrink Cup 26
27 Minispecs in Pseudo Code Minispecs describes the processes in the nodes of the DFD in pseudo code. They describe the data transformation of every process Here: specification of the minispec attachment process: procedure: AddMinispecsToDFDNodes target.bubble := select DFD node; do while target-bubble needs refinement if target.bubble is multi-functional then decompose as required; select new target.bubble; add pseudocode to target.bubble; else no further refinement needed endif enddo end 27
28 Good Languages for Pseudocode SETL (Schwartz, New York University) Dynamic sets, mappings Iterators PIKE (pike.ida.liu.se) Dynamic arrays, sets, relations, mappings Iterators ELAN (Koster, GMD) Natural language as identifiers of procedures Smalltalk (Goldberg et.al, Parc) Attempto Controlled English (ACE, Prof. Fuchs, Zurich) A restricted form of English, easy to parse 28
29 Structured Analysis and Design (SA/SD) - Heuristics Consistency checks Several consistency rules between diagrams (e.g., between function trees and DFD) Corrections necessary in case of structure clash between input and output formats Advantage of SA Hierarchical refinement: The actions in the DFD can be refined, I.e., the DFD is a reducible graph SA leads to a hierarchical design (a component-based system) 29
30 Difference to Functional and Modular Design SA and SADT focus on the data-flow through a system Not on calls of functions Describe stream-based systems Lead to pipe-and-filter architectures Actions are processes SA and SADT can easily describe parallel systems Function trees can be turned into action trees (process trees) that treat streams of data 30
31 Result: Data-Flow-Based Architectural Style SA/SD design leads to dataflow-based architectural style Processes exchanging streams of data Data flow forward through the system Components are called filter, connections are pipes System pipe Filter pipe Filter Filter 31
32 Examples Shell pipes-and-filters Image processing systems Signal processing systems (DSP-based embedded systems) The satellite radio Video processing systems Car control Process systems (powerplants, production control,...) 32
33 SADT Softwaretechnologie II, Prof. Uwe Aßmann 33
34 SADT Structured Analysis and Design Technique (SADT) is a action- and data-oriented method Uses a notation based on hierarchical graphs with 2 main forms of diagrams: Activity diagrams: Nodes are activities, edges are data flow (like DFD in SA) Data flow architectures result Data diagrams: Nodes are data (stores) and edges are activities Edges go mainly from left to right, top to bottom Companies used to have standardized forms, marked with author, date, version, name, etc.. 34
35 Diagrams SADT Control Data Control Activity Input Data Activity Output Data Generating Activity Data Consuming Activity Mechanism/ responsible Store 35
36 Example: The Waterfall Software Model with Activity Diagram of SADT Activity Diagrams SADT Similar to DFD Read direction left to right, top to bottom With designation of responsible Collect Requirements Requirements Engineer SRS Design Designer SD Implementation Program Programmer Waterfall Software Construction Maintenance Maintener 36
37 Refinement of Nodes Requirements Design Requirements Architectural Design Architect Architecture Design Detailed Design SD Designer 37
38 Data Diagrams SADT Lex. Grammar Grammar Tree Mapping Characters Compiler Tokens Buffer Pipe Syntax Tree Intermediate Code Memory Machine code File 38
39 Comparison SADT vs SA/SD SADT and SA/SD are Action-oriented methods they only distinguish between actions (processes) and data Stream-oriented, i.e., model streams of data flowing through the system System-oriented, know the concept of a subsystem System-oriented methods are known in every discipline Object-oriented ones are not! SA-DFDs are more flexible as SADT actitity diagrams since the edge types are not used in a constrained way Function trees and DDs may be coupled with SADT 39
40 Why are SA and SADT Important? They lead to component-based systems (hierarchical systems) Component-based systems are ubiquituous for many areas Object-orientation is not needed everywhere Other engineers use SADT also SA and SADT can easily describe parallel systems in a structured way SA and SADT are stream-based, i.e., for stream-based applications. When your context model has streams in its interfaces, SA and SADT might be applicable Use case actions can be refined similarly as SA and SADT actions! 40
41 What Have We Learned Use case diagrams are an action-oriented diagram notation that can be coupled with several design methods (action trees, communication diagrams) Besides object-oriented design, structured, action-oriented design is a major design technique It will not vanish, but always exist for certain application areas If the system will be based on stream processing, system-oriented design methods are appropriate System-oriented design methods lead to reducible systems Don't restrict yourself to object-oriented design 41
42 The End 42
23. Action-Oriented Design Methods
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - Softwaretechnologie II 23. Action-Oriented Design Methods Prof. Dr. Uwe Aßmann Technische Universität
More information21) Functional and Modular Design
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - 21) Functional and Modular Design Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software-
More information21) Functional and Modular Design
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - 21) Functional and Modular Design Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software-
More informationAdvanced Object-Oriented Analysis Concepts
Advanced Object-Oriented Analysis Concepts Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Gruppe Softwaretechnologie http://www-st.inf.tu-dresden.de Version
More informationPart II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process
Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.
More informationObject-Oriented Development - Use-Case Realization Analysis
Object-Oriented Development - Use-Case Realization Analysis Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Gruppe Softwaretechnologie http://www-st.inf.tu-dresden.de
More information10.1 Big Objects, Business Objects, and UML Components
II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model
More informationTransformational Design with
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität
More information2. Modelling Dynamic Behavior with Petri Nets
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - 2. Modelling Dynamic Behavior with Petri Nets Lecturer: Dr. Sebastian Götz Prof. Dr. U. Aßmann Technische
More informationPart II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development
More informationDesign Patterns and Frameworks 1) Introduction
Design Patterns and Frameworks 1) Introduction Dr. Sebastian Götz Software Technology Group Department of Computer Science Technische Universität Dresden WS 16/17, Oct 11, 2016 Slides from Prof. Dr. U.
More informationArchJava A Java Extension for Architecture
ArchJava A Java Extension for Architecture Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://www-st.inf.tu-dresden.de Version 08-0.1, May 19, 2008
More informationRequirements Engineering. Contents. Functional requirements. What is a requirement?
Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE
More information13.1 DECISION ANALYSIS WITH DECISION TREES AND TABLES (CONDITION-ACTION ANALYSIS)
Obligatory Reading Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie alzert, Kapitel über Entscheidungstabellen Ghezzi 6.3 Decision-table based testing
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 informationChapter 6 Architectural Design
Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural
More information31. ArchJava A Lightweight Java Extension for Architecture Provided and Required Ports and Services
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE 31. ArchJava A Lightweight Java Extension for Architecture Provided and Required Ports and Services
More informationTechnische Universität Dresden Institut für Software- und Multimediatechnik
On the Use of Ontologies in the Software Process Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik uwe.assmann@inf.tu-dresden.de Suppose you were Mr Bernhard... REWERSE.net
More informationChapter 3: CONTEXT-FREE GRAMMARS AND PARSING Part 1
Chapter 3: CONTEXT-FREE GRAMMARS AND PARSING Part 1 1. Introduction Parsing is the task of Syntax Analysis Determining the syntax, or structure, of a program. The syntax is defined by the grammar rules
More informationSoftware Design. Software design is a blueprint or a plan for a computerbased solution for system
Software Design Software Design Software design is a blueprint or a plan for a computerbased solution for system Software design deals with transforming the customer requirements, as described by the SRS
More information31. ArchJava A Lightweight Java Extension for Architecture Provided and Required Ports and Services
31. ArchJava A Lightweight Java Extension for Architecture Provided and Required Ports and Services Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de
More information22) Generic Programming with Generic Components Full Genericity in BETA. Obligatory Reading. Literature
22) Generic Programming with Generic Components Obligatory Reading Invasive Software, Chapter 6 [BETA-DEF] The BETA language. Free book. http://www.daimi.au.dk/~beta/books/. Please, select appropriate
More informationIntroduction to Computer Programming/Handout 01 Page 1 of 13
Introduction to Computer Programming/Handout 01 Page 1 of 13 Table of Contents Table of Contents... 1 Learning Objectives... 2 Program... 2 Programmer... 2 Programming Language... 2 Types of Languages...
More informationCS487 Midterm Exam Summer 2005
1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of
More informationSoftware Design. Levels in Design Process. Design Methodologies. Levels..
Design Software Design Design activity begins with a set of requirements Design done before the system is implemented Design is the intermediate language between requirements and code Moving from problem
More informationCSCI312 Principles of Programming Languages!
CSCI312 Principles of Programming Languages! Chapter 2 Syntax! Xu Liu Review! Principles of PL syntax, naming, types, semantics Paradigms of PL design imperative, OO, functional, logic What makes a successful
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases
More informationStructured Analysis and Structured Design
Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern
More informationLecture 8: Use Case -Driven Design. Where UML fits in
Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution
More informationStructured Analysis and Design
1 st Cut - Creating... 14:10 A Actors... 2:11 Additional Notations... 11:17 Alternative Names for the System... 13:15 Analysis - Overview... 1:9 Analysis and Design - Goals... 1:6 Analysis and Design -
More informationA Simple Syntax-Directed Translator
Chapter 2 A Simple Syntax-Directed Translator 1-1 Introduction The analysis phase of a compiler breaks up a source program into constituent pieces and produces an internal representation for it, called
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN
More informationLab # 1. Structuring System Requirements: Diagrams
Lab # 1 Structuring System Requirements: Diagrams Objectives 1. Use Case diagrams 2. Class Objects (CO) diagrams 3. Context Data Flow Diagrams (Context DFDs) 4. Level-0 Data Flow Diagrams (Level-0 DFDs)
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 informationFormal Languages and Grammars. Chapter 2: Sections 2.1 and 2.2
Formal Languages and Grammars Chapter 2: Sections 2.1 and 2.2 Formal Languages Basis for the design and implementation of programming languages Alphabet: finite set Σ of symbols String: finite sequence
More informationA programming language requires two major definitions A simple one pass compiler
A programming language requires two major definitions A simple one pass compiler [Syntax: what the language looks like A context-free grammar written in BNF (Backus-Naur Form) usually suffices. [Semantics:
More informationCSE 12 Abstract Syntax Trees
CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures
More informationRequirements Analysis. SE 555 Software Requirements & Specification
Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.
More informationUnit-3 Software Design (Lecture Notes)
Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design
More informationSoftware Design Document (SDD) Template (summarized from IEEE STD 1016)
Software Design Document (SDD) Template (summarized from IEEE STD 1016) Software design is a process by which the software requirements are translated into a representation of software components, interfaces,
More informationDr. D.M. Akbar Hussain
Syntax Analysis Parsing Syntax Or Structure Given By Determines Grammar Rules Context Free Grammar 1 Context Free Grammars (CFG) Provides the syntactic structure: A grammar is quadruple (V T, V N, S, R)
More informationDarshan Institute of Engineering & Technology for Diploma Studies
REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all
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 informationModeling Requirements
Modeling Requirements Critical Embedded Systems Dr. Balázs Polgár Prepared by Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Dept. of Measurement and
More informationLecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček
Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1 Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram
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 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 informationTheoretical Part. Chapter one:- - What are the Phases of compiler? Answer:
Theoretical Part Chapter one:- - What are the Phases of compiler? Six phases Scanner Parser Semantic Analyzer Source code optimizer Code generator Target Code Optimizer Three auxiliary components Literal
More informationEstablishing the overall structure of a software system
Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and
More informationStructured Modeling Methods. Lecture 15: Advantages and Disadvantages. University of Toronto Department of Computer Science.
Lecture 15: Structured Modeling Methods Basics of Structured Analysis Notations used Modeling Process Variants SADT SASS SSADM SRD Advantages and Disadvantages 2001, Steve Easterbrook CSC444 Lec15 1 Definition
More informationBuilding Compilers with Phoenix
Building Compilers with Phoenix Syntax-Directed Translation Structure of a Compiler Character Stream Intermediate Representation Lexical Analyzer Machine-Independent Optimizer token stream Intermediate
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 informationADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE
ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion
More information12. Finding Components with Metadata in Component Repositories
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE 12. Finding Components with Metadata in Component Repositories Lecturer: Dr. Sebastian Götz Prof.
More informationEDAN65: Compilers, Lecture 04 Grammar transformations: Eliminating ambiguities, adapting to LL parsing. Görel Hedin Revised:
EDAN65: Compilers, Lecture 04 Grammar transformations: Eliminating ambiguities, adapting to LL parsing Görel Hedin Revised: 2017-09-04 This lecture Regular expressions Context-free grammar Attribute grammar
More informationSyntax. A. Bellaachia Page: 1
Syntax 1. Objectives & Definitions... 2 2. Definitions... 3 3. Lexical Rules... 4 4. BNF: Formal Syntactic rules... 6 5. Syntax Diagrams... 9 6. EBNF: Extended BNF... 10 7. Example:... 11 8. BNF Statement
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 2 OO Examples and Process Introduction January 8, 2015 Sam Siewert Overall Learning Objectives What to Build? Requirements as Capabilities Methods
More information14. The Tools And Materials Architectural Style and Pattern Language (TAM)
14. The Tools And Materials Architectural Style and Pattern Language (TAM) 1 Prof. Dr. U. Aßmann Software Technology Group Department of Computer Science Technische Universität Dresden WS 14/15 - Jan 2,
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More informationObject-oriented Compiler Construction
1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program
More informationCBSE, Prof. Uwe Aßmann 1
Transconsistent Active Documents Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 07-0.1, Jul 4, 2007 CBSE, Prof. Uwe
More informationIntroduction to Programming paradigms
Introduction to Programming paradigms different perspectives (to try) to solve problems 17 September 2014, Introduction to Information Systems Practical class Giovanni Sileno g.sileno@uva.nl Leibniz Center
More information34. Interprocedural Program Analysis with PAG
34. Interprocedural Program Analysis with PAG Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden http://st.inf.tu-dresden.de
More informationManaging Change and Complexity
Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more
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 informationVragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity
Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit
More information13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515
Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 2 1 Traditional Approach to Requirements Data Flow Diagram (DFD) A graphical system model that shows all of the main requirements for an information
More information(Team Name) (Project Title) Software Design Document. Student Name (s):
(Team Name) (Project Title) Software Design Document Student Name (s): TABLE OF CONTENTS 1. INTRODUCTION 2 1.1Purpose 2 1.2Scope 2 1.3Overview 2 1.4Reference Material 2 1.5Definitions and Acronyms 2 2.
More informationReview Sources of Architecture. Why Domain-Specific?
Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design
More informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationOracle Data Modelling & Database Design Course Content:35-40hours
Oracle Data Modelling & Database Design Course Content:35-40hours Course Outline Introduction to Modeling List the reasons why modeling is important Describe the phases of the Database and Application
More information10조 이호진 이지 호
10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.
More informationa. It will output It s NOT Rover b. Class Main should be changed to the following (bold characters show the changes)
May 2015 Computing Advanced Paper 1 Question 1 a. It will output It s NOT Rover b. Class Main should be changed to the following (bold characters show the changes) public class Main public static void
More informationSyntax. In Text: Chapter 3
Syntax In Text: Chapter 3 1 Outline Syntax: Recognizer vs. generator BNF EBNF Chapter 3: Syntax and Semantics 2 Basic Definitions Syntax the form or structure of the expressions, statements, and program
More informationFunctional Modeling with Data Flow Diagrams
Functional Modeling with Data Flow Diagrams Amasi Elbakush 5771668 Teaching Assistant : Daniel Alami Utrecht University 1 Introduction Data Flow Diagrams (DFDs) are a visual representation of the flow
More informationCOP 3402 Systems Software Syntax Analysis (Parser)
COP 3402 Systems Software Syntax Analysis (Parser) Syntax Analysis 1 Outline 1. Definition of Parsing 2. Context Free Grammars 3. Ambiguous/Unambiguous Grammars Syntax Analysis 2 Lexical and Syntax Analysis
More informationSIF8035. Events and System Requirements
SIF8035 Lecture 4 DFD and PrM Events and System Requirements Events Occurrences at a specific time and place Trigger all system processing Requirement definition Determine relevant events External events
More informationSTRUCTURED ANALYSIS AND SYSTEM SPECIFICATION
r STRUCTURED ANALYSIS AND SYSTEM SPECIFICATION by Tom DeMarco Foreword by P.J. Plauger =3p YOURDDN PRESS =fm P T R PRENTICE HALL Englewood Cliffs, NJ 07632 PAGE PARTI: BASIC CONCEPTS 1. The Meaning of
More informationSE 2730 Final Review
SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more
More informationMethods for requirements engineering
Methods for requirements engineering Objectives To explain the role of methods and techniques in requirements engineering To introduce data-flow modelling To introduce semantic data modelling To introduce
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 03: Program Development Life Cycle Readings: Not Covered in Textbook Program Development
More informationCSE Information Systems 1
CSE1204 - Information Systems 1 Detailed Process Definitions; The Data Dictionary Data Dictionary the data dictionary is a database or repository of information about objects identified during systems
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
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 information2.2 Syntax Definition
42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions
More information5. Architectural Glue Patterns
5. Architectural Glue Patterns 1 Prof. Dr. U. Aßmann Chair for Software Engineering Faculty of Computer Science Dresden University of Technology 14-0.1, 11/3/14 Lecturer: Dr. Sebastian Götz 1) Mismatch
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationProgress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development
Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented
More informationFundamentals of Health Workflow Process Analysis and Redesign
Fundamentals of Health Workflow Process Analysis and Redesign Unit 10.3d Process Mapping Gane-Sarson Notation Slide 1 Welcome to the Gane-Sarson Notation for Data Flow Diagrams Subunit. This is the third
More informationCHAPTER 19: Building a Preliminary Behavioral Model
1 z 7 CHAPTER 19: Building a Preliminary Behavioral Model Things are always at their best in their beginning. Blaise Pascal Lettres Provinciales, 1656-1657, no. 4 IN THIS CHAPTER, YOU WILL LEARN: Why a
More informationcognitive models chapter 12 Cognitive models Cognitive models Goal and task hierarchies goals vs. tasks Issues for goal hierarchies
Cognitive models chapter 12 cognitive models goal and task hierarchies linguistic physical and device architectural Cognitive models They model aspects of user: understanding knowledge intentions processing
More informationSyllabus for Computer Science General Part I
Distribution of Questions: Part I Q1. (Compulsory: 20 marks). Any ten questions to be answered out of fifteen questions, each carrying two marks (Group A 3 questions, Group B, Group C and Group D 4 questions
More informationCMSC 330: Organization of Programming Languages. Context Free Grammars
CMSC 330: Organization of Programming Languages Context Free Grammars 1 Architecture of Compilers, Interpreters Source Analyzer Optimizer Code Generator Abstract Syntax Tree Front End Back End Compiler
More information3. Context-free grammars & parsing
3. Context-free grammars & parsing The parsing process sequences of tokens parse tree or syntax tree a / [ / index / ]/= / 4 / + / 2 The parsing process sequences of tokens parse tree or syntax tree a
More information31. Feature Models and MDA for Product Lines
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - Softwaretechnologie II 31. Feature Models and MDA for Product Lines Prof. Dr. U. Aßmann Technische Universität
More informationprogramming languages need to be precise a regular expression is one of the following: tokens are the building blocks of programs
Chapter 2 :: Programming Language Syntax Programming Language Pragmatics Michael L. Scott Introduction programming languages need to be precise natural languages less so both form (syntax) and meaning
More informationSyntax and Grammars 1 / 21
Syntax and Grammars 1 / 21 Outline What is a language? Abstract syntax and grammars Abstract syntax vs. concrete syntax Encoding grammars as Haskell data types What is a language? 2 / 21 What is a language?
More information24. Framework Documentation
24. Framework Documentation 1 Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie 15-0.2, 23.01.16 Design Patterns and Frameworks, Prof. Uwe Aßmann Obligatory
More informationSRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR
SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc-CST Semester / Year : Even / II Subject Name
More informationWhat is Task Analysis? chapter 15. Task Analysis as a Tool. Goals of Task Analysis. Usage of Task Analysis. Three interacting components
What is Task Analysis? chapter 15 task analysis Methods to analyze people's jobs: what people do what things they work with what they must know 1/43 2/43 Task Analysis as a Tool Goals of Task Analysis
More information