Computer Science for Engineers

Size: px
Start display at page:

Download "Computer Science for Engineers"

Transcription

1 Computer Science for Engineers Lecture 7 Object Orientation part 5 Preview Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 11 th of December 2009

2 Example for an activity diagram (1) Task: determine the age of the youngest person in a line. Solution description: Algorithm: 1: Go to the first person. 2: Ask for its age. 3: Memorize its age. 4: As long as not all persons were questioned, repeat steps : 4.1: Go to next person. 4.2: Ask for its age. 4.3: If its age is smaller than the memorized age, memorize this age. 5 The youngest person is memorized age years old. Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 2

3 Example for an activity diagram (2) Solution with UML (Activity diagram): Start Go to first person Input: Ask for age Memorize age [all persons questioned== true] Output: youngest person is memorized age years old [all persons questioned == false] Go to next person Input: ask for its age [requested age >= memorized age] [requested age < memorized age] Memorize new age Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 3

4 Outline Lecture Content 1. Preface 2. Basics 3. Object orientation 3.1. Introduction and basic concepts Introduction Objects and classes Attributes of object orientation 3.2. Object-oriented modelling with UML Intro Use Case models Static models Dynamic models Summary 3.3. Methods of the OO Analysis and Design Introduction Example: Modeling a M&S System Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 4

5 Why Software-Engineering? 3.3. Methods of OO Analysis and Design Introduction Ariane 5: Failure of its first flight on 4th of June1996: Rocket blows itself up 36 sec after start Source of failure: software Parts of the software were taken from Ariane 4 Ariane 5 can accelerate faster: variable overflow Steering system breaks down, status message to navigation system Navigation system interprets this as flight data Because of serious deviation from course the rocket blows itself up [Source: Wikipedia] Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 5

6 What is Software Engineering? The area of computer science that deals with the methods and tools for an engineering-type design and implementation of software Software engineering is performed today almost exclusively with help of special software tools (so called CASE-Tools) 3.3. Methods of OO Analysis and Design Introduction Special methods of software engineering are dependent on the basic principles of program development, such as structured or object oriented programming The process of software engineering contains all of the phases, from problem specification up to the final use of the program or program systems Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 6

7 Software Engineering Emerged from the software crisis (NATO conference 1968) - Software costs > hardware - Lack of transparency in the software development process 3.3. Methods of OO Analysis and Design Introduction - Engineering view on the software development process High quota of failed software projects (CHAOS study) - Study on success/failure of software projects - Only about 17% of all software projects are successful regarding Costs Timeframe Requirements Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 7

8 Software Engineering - Model 1 Water fall model Requirements analysis Validation 3.3. Methods of OO Analysis and Design Introduction Software development Validation Implementation Validation Integration and tests Validation Usage and maintenance Validation Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 8

9 Software Engineering - Model 2 V- Model - Military software development Requirements definition Use case scenarios Commissioning 3.3. Methods of OO Analysis and Design Introduction Test cases Preliminary design Test cases Detailed design Module implementation Test cases Integration test Module test System test Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 9

10 Software Engineering - Model 3 Prototype Model Requirements analysis 3.3. Methods of OO Analysis and Design Introduction Software development Implementation Integration and tests Usage and maintenance Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 10

11 Software Engineering - Model 4 Spiral model Determine objectives Solution variants Boundary conditions Evaluate solution alternatives Overcome riscs 3.3. Methods of OO Analysis and Design Introduction Next phase planning Development plan Integration and test plan Requirements Implementation Prototype creation Development and verification [Beister 08] Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 11

12 Rational Unified Process (RUP) Rational Unified Process (RUP) is an object oriented process model for software development. It is also a commercial product of the Rational Software company - which since 2002 has been a part of IBM. RUP uses Unified Modeling Language (UML) as the notation language The life-cycle of RUP is divided into 4 principle phases: 3.3. Methods of OO Analysis and Design Introduction - Inception (conceptualization: determine project extent) - Elaboration (Design: develop convertible architecture) - Construction (Implementation: fill the architectural skeleton with functionality) - Transition (Product transfer: transfer application to the user environment) Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 12

13 Rational Unified Process: Dynamic Structure 3.3. Methods of OO Analysis and Design Introduction Distribution of tasks in small steps (Iterations) Source: IBM - Rational Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 13

14 Phases of the Rational Unified Process: Inception and Elaboration Inception (Conceptualization) - Specification of the vision for the end product - Specification of the essential transactions - Definition of the project extent - Project costs and risks 3.3. Methods of OO Analysis and Design Introduction - Finish: Life Cycle Objective Milestone Elaboration (Design) - Specification of product characteristics - Design of architecture - Design of the necessary activities and resources - Finish: Life Cycle Architecture Milestone Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 14

15 Phases of the Rational Unified Process: Construction and Transition Construction (Implementation) - Generation of the product - Development of the architecture - Result: manufactured product 3.3. Methods of OO Analysis and Design Introduction - Finish: Initial Operational Capability Milestone Transition (Product transfer) - Release of the product to the user - Test of the quality level - Delivery, Training, Customer Support, Maintenance - Finish: Release Milestone Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 15

16 Phases of the Rational Unified Process The results of the phases are the so called Milestones: - Lifecycle objectives milestone: Vision including a rudimentary use case model, (essential functionalities), tentative architecture, identification of important risks, design of the engineering phase 3.3. Methods of OO Analysis and Design Introduction - Lifecycle architecture milestone: Architecture prototype, detailed use case model, design of the construction phase - Initial operational capability milestone: Design models and Beta- Release of the Software - Product release milestone: Release in production quality Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 16

17 Disciplines of RUP: Static Structure The disciplines (interchangeably used with working steps) orient themselves to special roles within the developing team, and are administered by certain people or groups In detail, these disciplines are: - Central work steps Business Modeling 3.3. Methods of OO Analysis and Design Introduction Requirements Analysis & Design Implementation Test Deployment - Supported work steps Configuration & Change Management Project Management Environment Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 17

18 Source: IBM - Rational Rational Unified Process Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide Methods of OO Analysis and Design Introduction

19 Business Modelling Define the core problem: - Which functions should the system offer? - How should the operating surface behave? 3.3. Methods of OO Analysis and Design Introduction - How efficient, safe, must the system be? Define the relevant environment: - type, number of users - available hardware, previous software Estimate feasibility - Technical, personal capacity - Costs (and uses) Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 19

20 Requirements Purpose of the system Desired functions Correct / false input, corresponding reactions Configuration of the operating surface Efficiency - goals 3.3. Methods of OO Analysis and Design Introduction Document requirements Protection / Safety aspects Standards to use Time plan, expenditure estimate, risk estimate (approx.) Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 20

21 Analysis and Design Rough system structure - Analyze the components - Define teamwork 3.3. Methods of OO Analysis and Design Introduction - Test design vs. requirements Describing the components - Purpose and role of a component - Service offered from one component Relationships between components - Which components can use the other ones - Forming of design decisions Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 21

22 Implementation and tests Implement the components - Choose data structures - Choose algorithms 3.3. Methods of OO Analysis and Design Introduction - Formulate in the programming language Document the components - How do the components accomplish their tasks? - Establish implementation alternatives Test components (vs. design) - Arrange the test environment, gather test data - Perform a run through of the test - Verification Test externally programmed components Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 22

23 Deployment Application - Install the system for the customer - accommodate - Inspection by the customer - Transfer of the system 3.3. Methods of OO Analysis and Design Introduction - Train the User Maintenance - Correct errors - Modify: functionalities adapt/ better Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 23

24 Application of UML in RUP - Disciplines Diagram type Diagram Disciplines Use case Use case diagram Business modeling Requirements Static model Class diagram Analysis & Design Instance diagram Implementation 3.3. Methods of OO Analysis and Design Introduction Dynamic model Collaboration diagrams Analysis & Design Sequence diagrams Requirements Analysis & Design Implementation State diagrams Requirements Analysis & Design Activity diagrams Requirements Analysis & Design Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 24

25 Recommended Literature [Prie00] [Booc99] [Otte05] M. Priestley: Practical Object-oriented Design with UML, MacGraw-Hill, 2000 I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process, Addison-Wesley, 1999 Prof. Dr.-Ing. Martin Otter: Vorlesung Objektorientierte Modellierung mechatronischer Systeme, DLR, 2005 Web: [HiKa99] M. Hitz, G. Kappel: dpunkt.verlag, 1999 [HrRu02] Hruschka,P., Rupp, C.: Agile Softwareentwicklung für embedded Real- Time Systeme, Hanser Verlag, 2002 [GHJV01] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Entwurfsmuster Elemente wiederverwendbarer objektorientierter Software, Addison- Wesley Verlag, 2001 Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 25

26 Computer Science for Engineers Lecture 7 Data structures part 1 Preview Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 11 th of December 2009

27 Outline Lecture Content 1. Preface 2. Basics 3. Object orientation 4. Data Structures 4.1. Introduction 4.2. Graphs 4.3. Use of Graphs 4.4. Trees 4.5. Use of Trees 4.6. Linked Lists 4.7. Queues and Stacks 5. Algorithms Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 27

28 Definition of the Term According to definition 1.1 from lecture 1, computer science is the science that concerns itself with the structure, effectiveness, construction principles, and applications of information processing systems as well as their usage. In order to complete these tasks, computer science developed a formalism, which allows verified characteristics and exceptions to structures, effectiveness, and principles. 4. Data Structues 4.1 Introduction This formalism and the possibility for their verification are prerequisites for a systematic data processing, which can be automatized through a computer. Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 28

29 Data Structures - Examples A data structure in computer science is a specific form to manage data and link the structures with one another, so that it s possible to access the data and especially manipulate it in an applicable manner. Data structures are always linked with certain operations to allow these manipulations. Application examples are - Data pool systems - Networks 4. Data Structues 4.1 Introduction - Lists of assembly parts - Telephone book - Pictures Source: GWDG Source: irc.rz.uni-karlsruhe.de Source: Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 29

30 Data Structures The different types of data structures are applicable for different specific tasks according to their characteristics, linked operations, and implementation. Decision criteria are, for example - Amount of data to be managed - Data fluctuation - Necessary access possibilities - Run time behavior of the data access 4. Data Structues 4.1 Introduction - Alterability of the data structure Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 30

31 Outline Lecture Content 1. Preface 2. Basics 3. Object orientation 4. Data Structures 4.1. Introduction 4.2. Graphs 4.3. Use of Graphs 4.4. Trees 4.5. Use of Trees 4.6. Linked Lists 4.7. Queues and Stacks 5. Algorithms Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 31

32 Graph (1) A graph is a formation of vertices that are connected through edges. 4. Data Structures 4.2 Graphs vertex edge Graphs are visually described through images and through mathematical structures. This general definition allows the description of complex associations and characteristics Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 32

33 Graph (2) Definition 3.1: G = (V,E) is a graph if and only if 1. V is heap (vertices) 2. E { {v 1,v 2 } v 1,v 2 V } (edges) example G 1 : e 1 e 2 v 1 v 2 v 3 V = {v 1,v 2,v 3 } E = { {v 1,v 2 }, {v 2,v 3 }} 4. Data Structures 4.2 Graphs Nomenclature In the graph G 2 = ({v 1 },{v 1 }) the edge e1 = {v 1 } is a loop. G 2 : e 1 v 1 Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 33

34 Subgraph Definition 3.2: Let G = (V,E) and G = (V,E ). G is a subgraph of G if and only if E E and V V ( G G ) example G 3 : v 1 e 1 e 4 e 2 v 4 G 3 : v 1 e 1 e 5 v 2 4. Data Structures 4.2 Graphs e 3 v 2 v 3 V = {v 1,v 2,v 3,v 4 } E = { {v 1,v 2 }, {v 1,v 3 }, {v 1,v 4 }, {v 3,v 4 }, {v 2 } } e 3 V = {v 1,v 2 } E = { {v 1,v 2 }, {v 2 } } Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 34

35 Path Definition 3.3: A path π in G is a sequence of π = (v 0,v 1,,v n ) with 0 i < n : {v i, v i+1 } E Example G 4 : π = (v 1,v 4,v 3 ) e 2 e 3 v 3 e 1 v 1 v 2 v 4 e 4 e 5 4. Data Structures 4.2 Graphs Nomenclature n = π = Length of π Start(π) = v 0 End(π) = v n The total of all paths π in G is Path(G) Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 35

36 Circle Definition 3.4: The path π in G is a circle if and only if Start(π) = End(π) example G 4 : v 3 e 2 e 3 e 1 v 1 v 2 v 4 e 4 4. Data Structures 4.2 Graphs Nomenclature e 5 π = (v 2,v 4,v 3,v 2 ) is a circle π = (v 1,v 4,v 2 ) is NOT a circle A path π is a simple edge circle, when each edge on the path π is contained only once in the path Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 36

37 Branching factor Definition 3.5: example the branching factor d for a graph G and a vertex v is the number of edges connected with the vertex v. d(g,v) = #(v V {v,v } E) The branching factor d for a graph G gives the maximal branching factor for all vertices. d(g) = Max( d(g,v) ) v V G 5 : v 1 d(g 5,v 3 ) = 2 4. Data Structures 4.2 Graphs v 2 v 3 d(g 5,v 4 ) = 1 d(g 5 ) = 5 v 4 Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 37

38 Edge Quantifier A graph G was previously described by the amounts E and V and can also be described through the input of a weight function g. Let G = (V, E) and g : V x V R be the weight function. therefore: g(v 1, v 2 ) = {v 1, v 2 } E g(v 1, v 2 ) : weight of the edge {v 1, v 2 } E That means that an edge is an element of the graph when the weight is smaller than. example 4. Data Structures 4.2 Graphs G 6 : v 1 v 2 v g(v 1, v 2 ) = 2 g(v 2, v 3 ) = g(v 1, v 3 ) = 5 Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 38

39 Directed Graphs Definition 3.6: A directed graph G is a pair G = (V,R) with 1. V is a heap (vertices) 2. R V x V (directed edges) (The order of the vertices in an edge gives the direction) example G 6 : v 4 v 2 v 1 4. Data Structures 4.2 Graphs V = {v 1,v 2,v 3,v 4 } R = { {v 2,v 1 }, {v 3,v 1 }, {v 1,v 4 }, {v 3,v 4 }, {v 2, v 2 } } v 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 39

40 Example of a Graph (1) KVV bus and street car map 4. Data Structures 4.2 Graphs Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 40

41 Example of a Graph (2) How do I get from the main train station to the university (path)? Start(π) = Hauptbahnhof End(π) = Kronenplatz / KIT Campus Süd path π = {Hauptbahnhof, Poststraße, Augartenstraße, Kongresszentrum, Ettlinger Tor, Marktplatz, Kronenplatz / KIT Campus Süd} How much time do I need for this path (edge quantifier)? G π = (V,E) KVV (G π is the subgraph of the line graph) 4. Data Structures 4.2 Graphs weight(g π ) = Σ g(e) = 12 G π : H e E (Sum of all edge weights) P A K E M U Prof. Dr. Dr.-Ing. Jivka Ovtcharova CSE-Lecture Ch. 3 and 4 - WS 09/10 - Slide 41

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 5 Software Engineering part 2 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 5 th of December 2008 Rational Unified Process (RUP) Rational Unified Process

More information

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 8 Data structures part 2 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 18 th of December 2009 Outline Lecture Content 1. Preface 2. Basics 3. Object

More information

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 5 Object Orientation part 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 27 th of November 2009 Aggregation and Composition (1) A special case of an

More information

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 3 Basics part 2 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 13 th of November 2009 Object Oriented Languages Story of development (1) 2. Basics 2.1

More information

Software Engineering

Software Engineering Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 7: Software Processes. Refresher: Software Always Evolves Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)

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

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I Introduction to OOAD What is OOAD? What is UML? What are the United process(up) phases - Case study the NextGen POS system, Inception -Use case Modeling

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

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Introduction INFORMATION SYSTEMS MODELLING, UML AND SERVICE DESCRIPTION

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

Getting a Quick Start with RUP

Getting a Quick Start with RUP Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

Lecture 2: Software Engineering (a review)

Lecture 2: Software Engineering (a review) Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

BDSA Introduction to OOAD. Jakob E. Bardram

BDSA Introduction to OOAD. Jakob E. Bardram BDSA Introduction to OOAD Jakob E. Bardram Programming is Fun Developing Quality Software is Hard. Craig Larman in [OOAD] book 2 Object-Oriented Analysis & Design (OOAD) This Lecture Unified Modeling Language

More information

System Analysis and Design

System Analysis and Design System Analysis and Design 1 Introduction to Software Engineering Building Software is a complex exercise. Software is produced in several stages. Each stage attempts to deal with a different aspect of

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Software Process. Software Process

Software Process. Software Process Software Process What is SW process? Definition, Development, Support phases Process models: Waterfall Prototyping Spiral, Incremental & iterative (best practices) UP process model What is it? How does

More information

Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study

Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study Alejandro C. Frery, André R. G. do A. Leitão, André W. B. Furtado, Fernando da C. A. Neto,

More information

Object Oriented System Development

Object Oriented System Development Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

Basics : the Requirements Engineering Process

Basics : the Requirements Engineering Process SEG3101 (Fall 2010) Basics : the Requirements Engineering Process Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides prepared by Gunter Mussbacher with material from: Sommerville & Kotonya

More information

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics Software Verification and Validation (VIMMD052) Introduction Istvan Majzik majzik@mit.bme.hu Budapest University of Technology and Economics Dept. of Measurement and Information s Budapest University of

More information

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Software Design And Modeling BE 2015 (w. e. f Academic Year ) Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021 Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 20 GoF Design Patterns Behavioral Department of Computer Engineering Sharif University of Technology 1 GoF Behavioral Patterns Class Class Interpreter: Given a language,

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

Review Software Engineering October, 7, Adrian Iftene

Review Software Engineering October, 7, Adrian Iftene Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Change Management Process on Database Level within RUP Framework

Change Management Process on Database Level within RUP Framework Change Management Process on Database Level within RUP Framework ZELJKA CAR*, PETRA SVOBODA**, CORNELIA KRUSLIN** *Department of Telecommunications Faculty of Electrical Engineering Computing, University

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? A few observations, opinions, pros & cons COMP 320 / 420 Spring, 2018 Mr. Weisert Where did the UML come from? Object-oriented

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature

More information

defined. defined. defined. defined. defined. defined. defined. defined. defined.

defined. defined. defined. defined. defined. defined. defined. defined. defined. Table of Contents Week 1 Software Development... 2 Software Eng Life-Cycle Development Phases... 2 Methodologies... 2 Week 2 - XP, Scrum, Agile... 3 Extreme Programming (XP)... 3 Values of XP Programming...

More information

The Unified Modeling Language User Guide

The Unified Modeling Language User Guide The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Objectives. Connecting with Computer Science 2

Objectives. Connecting with Computer Science 2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering process models Understand what a design document is and how it should be used during

More information

CPSC 2380 Data Structures and Algorithms

CPSC 2380 Data Structures and Algorithms CPSC 2380 Data Structures and Algorithms Spring 2014 Department of Computer Science University of Arkansas at Little Rock 2801 South University Avenue Little Rock, Arkansas 72204-1099 Class Hours: Tuesday

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2013-10-23 02 2013-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

Object Design II: Design Patterns

Object Design II: Design Patterns Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 3 Systems Requirements January 21, 2015 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL WATERFALL XP

More information

CSC Advanced Object Oriented Programming, Spring Overview

CSC Advanced Object Oriented Programming, Spring Overview CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay

More information

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering? Tonight s Agenda CSC340: Engineering Jennifer Campbell Lecturer Part 1 Introduction to course content Course information Changes to the SE courses/program Part 2 What are requirements? CSC340 University

More information

Design Patterns. Gunnar Gotshalks A4-1

Design Patterns. Gunnar Gotshalks A4-1 Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem

More information

Process of Interaction Design and Design Languages

Process of Interaction Design and Design Languages Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared

More information

CIS 771: Software Specifications

CIS 771: Software Specifications CIS 771: Software Specifications Lecture 11: Introduction to OCL & USE Copyright 2001-2002, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials

More information

Lecture 8 Requirements Engineering

Lecture 8 Requirements Engineering Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes

More information

Lecture 02: Semantical Model

Lecture 02: Semantical Model Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2014-10-23 02 2014-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

From Closed to Open to Transparent Software Development. Development

From Closed to Open to Transparent Software Development. Development From Closed to to Transparent Software Development Dr. Erich Gamma IBM Distinguished Engineer IBM Rational Zurich Research Lab Eclipse Timeline Source 2000 2001 2002 2003 2004 2005 2006 2007 2011 Fall

More information

3 Product Management Anti-Patterns by Thomas Schranz

3 Product Management Anti-Patterns by Thomas Schranz 3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about

More information

L02.1 Introduction... 2

L02.1 Introduction... 2 Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................

More information

The Process of Software Architecting

The Process of Software Architecting IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,

More information

Week 9 Implementation

Week 9 Implementation Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is

More information

COLLEGE OF THE DESERT

COLLEGE OF THE DESERT COLLEGE OF THE DESERT Course Code CS-009 Course Outline of Record 1. Course Code: CS-009 2. a. Long Course Title: Data Structures and Algorithms b. Short Course Title: DATA STRUCTURES 3. a. Catalog Course

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

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

Introduction - SENG 330. Object-Oriented Analysis and Design

Introduction - SENG 330. Object-Oriented Analysis and Design Introduction - SENG 330 Object-Oriented Analysis and Design SENG 330 Fall 2006 Instructor: Alex Thomo Email: thomo@cs.uvic.ca Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective:

More information

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect How to build a UML model RUP Steriotypes, packages, and object diagrams Case study Announcements HW3 Phase 1 due on Feb 6 th, 5:00pm (need to create new pairs, accounts) Feedback on M2: turn procedural

More information

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

DOWNLOAD OR READ : UML AND C A PRACTICAL GUIDE TO OBJECT ORIENTED DEVELOPMENT PDF EBOOK EPUB MOBI

DOWNLOAD OR READ : UML AND C A PRACTICAL GUIDE TO OBJECT ORIENTED DEVELOPMENT PDF EBOOK EPUB MOBI DOWNLOAD OR READ : UML AND C A PRACTICAL GUIDE TO OBJECT ORIENTED DEVELOPMENT PDF EBOOK EPUB MOBI Page 1 Page 2 uml and c a practical guide to object oriented development uml and c a pdf uml and c a practical

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Overview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search

Overview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search Overview of Today s Lecture Analytical Evaluation / Usability Testing November 17, 2017 Analytical Evaluation Inspections Recapping cognitive walkthrough Heuristic evaluation Performance modelling 1 2

More information

OO Project Management

OO Project Management OO Project Management Twin Cities Java User s Group November 17, 1999 Mary Poppendieck Poppendieck.LLC Object Oriented Development Objects Simulate the Real World Example: Process Control On/Off Switch

More information

Slides for courses based on the textbook

Slides for courses based on the textbook Slides for courses based on the textbook 1 Author: Professor Nigel Cross Publisher: John Wiley & Sons Ltd., 2008 (4th edition) ISBN: 978-0-470-51926-4 2 Contents Part One: Understanding Design 1 The Nature

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects Activities Common to Software Projects Software Life Cycle Mark van den Brand Requirements and specification Domain analysis Defining the problem Requirements gathering Obtaining input from as many sources

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

administrivia today UML start design patterns Tuesday, September 28, 2010

administrivia today UML start design patterns Tuesday, September 28, 2010 administrivia Assignment 2? promise to get past assignment 1 back soon exam on monday review slides are posted your responsibility to review covers through last week today UML start design patterns 1 Unified

More information

Introduction to Software Engineering (ESE : Einführung in SE)

Introduction to Software Engineering (ESE : Einführung in SE) Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Selected material courtesy of Prof. Serge Demeyer, U. Antwerp ESE Introduction Lecturers Assistants Lectures Exercises

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

More information

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches Introduction to Software Engineering ECSE-321 Unit 9 Architectural Design Approaches Requirement Elicitation Analysis (Software Product Design) Architectural Design Detailed Design Architectural Design

More information

A Unified Process for Software and Documentation Development

A Unified Process for Software and Documentation Development ~ Technology & Teamwork A Unified Process for Software and Development Michael Priestley IBM Toronto Lab 115 Eglinton Ave. E. Toronto, Ont. M3C 1H7 mpriestley@acm. org Mary Hunter Utt' Sitescape, Inc.

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

Model-based Transition from Requirements to High-level Software Design

Model-based Transition from Requirements to High-level Software Design Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview

More information

Index. : (colon), 80 <<>> (guillemets), 34, 56

Index. : (colon), 80 <<>> (guillemets), 34, 56 : (colon), 80 (guillemets), 34, 56 A Abstraction, 3 Acronyms, 54 Action field, 140 Actions tab, 140 ActiveX controls (Microsoft), 163 Activities. See also Activity diagrams basic description of, 241

More information

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212 Index A abstract requirements, 10 activity diagram section (Use Case -144 actors identifying, 130-131 relationships, generalization between, 137 use cases, 133-135 Actual completion date attribute actual

More information