Action-Oriented Design Methods

Size: px
Start display at page:

Download "Action-Oriented Design Methods"

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

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 information

21) Functional and Modular Design

21) 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 information

21) Functional and Modular Design

21) 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 information

Advanced Object-Oriented Analysis Concepts

Advanced 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 information

Part 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 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 information

Object-Oriented Development - Use-Case Realization Analysis

Object-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 information

10.1 Big Objects, Business Objects, and UML Components

10.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 information

Transformational Design with

Transformational 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 information

2. Modelling Dynamic Behavior with Petri Nets

2. 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 information

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process

Part 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 information

Design Patterns and Frameworks 1) Introduction

Design 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 information

ArchJava A Java Extension for Architecture

ArchJava 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 information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements 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 information

13.1 DECISION ANALYSIS WITH DECISION TREES AND TABLES (CONDITION-ACTION ANALYSIS)

13.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 information

Engr. 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 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 information

Chapter 6 Architectural Design

Chapter 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 information

31. 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 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 information

Technische Universität Dresden Institut für Software- und Multimediatechnik

Technische 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 information

Chapter 3: CONTEXT-FREE GRAMMARS AND PARSING Part 1

Chapter 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 information

Software Design. Software design is a blueprint or a plan for a computerbased solution for system

Software 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 information

31. 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 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 information

22) Generic Programming with Generic Components Full Genericity in BETA. Obligatory Reading. Literature

22) 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 information

Introduction to Computer Programming/Handout 01 Page 1 of 13

Introduction 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 information

CS487 Midterm Exam Summer 2005

CS487 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 information

Software Design. Levels in Design Process. Design Methodologies. Levels..

Software 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 information

CSCI312 Principles of Programming Languages!

CSCI312 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 information

Architectural Design

Architectural 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 information

Structured Analysis and Structured Design

Structured 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 information

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 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 information

Structured Analysis and Design

Structured 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 information

A Simple Syntax-Directed Translator

A 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 information

Architectural Design

Architectural 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 information

Lab # 1. Structuring System Requirements: Diagrams

Lab # 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 information

Presenter: Dong hyun Park

Presenter: 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 information

Formal 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 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 information

A programming language requires two major definitions A simple one pass compiler

A 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 information

CSE 12 Abstract Syntax Trees

CSE 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 information

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements 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 information

Unit-3 Software Design (Lecture Notes)

Unit-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 information

Software Design Document (SDD) Template (summarized from IEEE STD 1016)

Software 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 information

Dr. D.M. Akbar Hussain

Dr. 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 information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan 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 information

SE 1: Software Requirements Specification and Analysis

SE 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 information

Modeling Requirements

Modeling 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 information

Lecture 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 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 information

Chapter : Analysis Modeling

Chapter : 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 information

06. Analysis Modeling

06. 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 information

Theoretical Part. Chapter one:- - What are the Phases of compiler? Answer:

Theoretical 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 information

Establishing the overall structure of a software system

Establishing 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 information

Structured Modeling Methods. Lecture 15: Advantages and Disadvantages. University of Toronto Department of Computer Science.

Structured 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 information

Building Compilers with Phoenix

Building 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 information

Architectural Blueprint

Architectural 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 information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED 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 information

12. Finding Components with Metadata in Component Repositories

12. 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 information

EDAN65: 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: 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 information

Syntax. A. Bellaachia Page: 1

Syntax. 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 information

SE310 Analysis and Design of Software Systems

SE310 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 information

14. The Tools And Materials Architectural Style and Pattern Language (TAM)

14. 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 information

Architectural Design. Architectural Design. Software Architecture. Architectural Models

Architectural 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 information

Object-oriented Compiler Construction

Object-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 information

CBSE, Prof. Uwe Aßmann 1

CBSE, 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 information

Introduction to Programming paradigms

Introduction 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 information

34. Interprocedural Program Analysis with PAG

34. 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 information

Managing Change and Complexity

Managing 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 information

Systems 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, 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 information

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. 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 information

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

13/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): (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 information

Review Sources of Architecture. Why Domain-Specific?

Review 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 information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling 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 information

Oracle Data Modelling & Database Design Course Content:35-40hours

Oracle 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 information

10조 이호진 이지 호

10조 이호진 이지 호 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 information

a. It will output It s NOT Rover b. Class Main should be changed to the following (bold characters show the changes)

a. 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 information

Syntax. In Text: Chapter 3

Syntax. 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 information

Functional Modeling with Data Flow Diagrams

Functional 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 information

COP 3402 Systems Software Syntax Analysis (Parser)

COP 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 information

SIF8035. Events and System Requirements

SIF8035. 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 information

STRUCTURED ANALYSIS AND SYSTEM SPECIFICATION

STRUCTURED 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 information

SE 2730 Final Review

SE 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 information

Methods for requirements engineering

Methods 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 information

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

ITC213: 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 information

CSE Information Systems 1

CSE 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 information

CSE 70 Final Exam Fall 2009

CSE 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 information

System Design. Design: HOW to implement a system

System 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 information

2.2 Syntax Definition

2.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 information

5. Architectural Glue Patterns

5. 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 information

Software Architecture

Software 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 information

Progress 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) 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 information

Fundamentals of Health Workflow Process Analysis and Redesign

Fundamentals 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 information

CHAPTER 19: Building a Preliminary Behavioral Model

CHAPTER 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 information

cognitive models chapter 12 Cognitive models Cognitive models Goal and task hierarchies goals vs. tasks Issues for goal hierarchies

cognitive 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 information

Syllabus for Computer Science General Part I

Syllabus 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 information

CMSC 330: Organization of Programming Languages. Context Free Grammars

CMSC 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 information

3. Context-free grammars & parsing

3. 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 information

31. Feature Models and MDA for Product Lines

31. 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 information

programming languages need to be precise a regular expression is one of the following: tokens are the building blocks of programs

programming 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 information

Syntax and Grammars 1 / 21

Syntax 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 information

24. Framework Documentation

24. 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 information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM 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 information

What 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 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