CSC Advanced Object Oriented Programming, Spring Overview

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "CSC Advanced Object Oriented Programming, Spring Overview"

Transcription

1 CSC Advanced Object Oriented Programming, Spring 2018 Overview

2 Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay and his research group developed a computer named Dynabook and the first pure object-oriented programming language Smalltalk, for programming the Dynabook. 1980s: Grady Booch published a paper titled Object Oriented Design that presented the programming language Ada.

3 Object-Oriented Programming (OOP) a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships Grady Booch

4 Features of Object-Oriented Programming Bottom-up approach in program design Programs organized around objects, grouped in classes Focus on data and methods that operate on the object s data Interaction between objects through message passing Reusability of design through creation of new classes by adding features to existing classes

5 Object-Oriented Analysis (OOA) Object-oriented analysis is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain. Grady Booch

6 Tasks in Object-Oriented Analysis Identifying objects Organizing the objects by creating an object model diagram Defining the attributes of objects Defining the behavior of objects Describing how the objects interact

7 Object-Oriented Design (OOD) a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design. Grady Booch

8 Object-Oriented Design (OOD) Object-Oriented Design involves implementation of the conceptual model produced during object-oriented analysis. The analysis model, which is technology-independent, is mapped to how the system can be built with concrete technologies The implementation details usually include: Restructuring the class data (if necessary) Implementation of the methods Implementation of the control Implementation of the associations

9 Software Development Methodology A software development methodology is a repeatable process that can be followed through the software development lifecycle. A software methodology should specify what should be produced as the process is followed. A software methodology usually includes techniques for resource management, planning, scheduling and other management tasks. Most software development methodologies are designed for teams of developers producing large amounts of software.

10 Benefits of Software Development Methodologies Can help impose discipline on the coding process. Can increase understanding of the problem and improve the quality of the solution. Can help find conceptual and practical mistakes before they are coded. Can help produce code that is more extensible, more reusable, and easier to debug.

11 Benefits of Methodologies At Large Scale Documentation Reduced latency Improved chances to deliver on time and within budget Better communication between users, sales people, managers, and developers Repeatability

12 Issues Methodologies Address Planning Scheduling Resourcing Workflows Activities Roles Artifacts Education

13 Classical Phases in Software Production Requirements Analysis Design Specification Implementation Testing Deployment Maintenance

14 Requirements Phase Requirements capture is about discovering what we are to achieve. It has two main aspects: Business modeling: understanding the context in which the software will operate. System requirements modeling (functional specification): deciding the capabilities the software will have. Questions: What is the context? What are we trying to achieve?

15 Analysis Phase Analysis is understanding and verifying the relevant entities, their properties, and their inter-relationships. Questions: What entities are we dealing with? How can we be sure we have the correct entities?

16 Design Phase Design is making decisions about the software and how it will be deployed. System design involves breaking the system into logical subsystems and physical subsystems, deciding how subsystems will communicate, and choosing the technologies. Subsystem design is about deciding how to make a logical subsystem into effective, efficient, and feasible code. Questions: How are we going to solve the problem? What hardware and software will the finished system need? How are we going to implement the solution?

17 Specification Phase A specification is an unambiguous description of the way the components of the software system should be used and how they behave if used properly. Questions: What rules govern the interfaces between system components? Can we remove ambiguity and ensure correctness?

18 Implementation Phase Implementation is about writing the code form the subsystems. Questions: How can we code the components to meet the specification?

19 Testing Phase Testing is ensuring that the system requirements are met by the implementation. Questions: Does the finished system satisfy the requirements?

20 Deployment Phase Deployment is concerned with getting the software and hardware to the end users, along with documentation and training materials. Questions: What do system administrators have to do? How can we educate the end users?

21 Maintenance Phase Maintenance involves finding and fixing bugs after the system is live. Questions: Can we find and fix faults? Can we improve the system?

22 The Waterfall Methodology The waterfall methodology originated in manufacturing and construction industries. In the waterfall methodology, each phase is completed and verified before the next phase is started. This is oftentimes unrealistic because software systems do not behave like physical systems.

23 Where the Waterfall Methodology is Useful When repeating a specific kind of development with only minor differences. As a framework for learning different techniques used in software development. As a single pass through a spiral methodology. As a framework for an iterative methodology. For the quick development of small projects with small numbers of developlers.

24 Examples of Small Projects Software Prototype: an experiment built to try out functionality of the finsihed product. Production prototype: similar to a prototype, but some code is retained. Proof-of-concept: a project designed to demonstrate the feasibility of some technology. Rapid Application Development (RAD): assembly of small systems using object-oriented techniques.

25 Other Software Methodologies Spiral: perform the sequence of phases multiple times Iterative: revisit previous phases with information obtained from later phases Incremental: deliver versions with increasing functionality Combined: use elements of each of the previous methodologies

26 Object-Oriented Methodologies Object-oriented methodologies typically address: The philosophy behind each phase The workflows and individual activities within each phase The artifacts that should be produced Dependencies between the artifacts Notations for the different kinds of artifacts The need to model static structure and dynamic behavior

27 Reasons to Employ Development Tools Traceability Change History Multiuser access control Reduced redundancy Consistency checking Network operation Testing artifacts for correctness

28 The Unified Modeling Language (UML) The Unified Modeling Language (UML) is a standard way to visualize the design of a system. Example UML diagrams per phase: Requirements Activity diagrams Communication diagrams Use case diagrams Analysis Class diagrams Communication diagrams Design Deployment diagrams Class diagrams Sequence diagrams

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

Object-Oriented Systems. Development: Using the Unified Modeling Language

Object-Oriented Systems. Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 3: Object-Oriented Systems Development Life Cycle Goals The software development process Building high-quality software

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

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

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

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

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

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1 Object Oriented Methodologies Chapter 4 Sahaj Computer Solutions Object Oriented Systems Development 1 Chapter Objectives Object Oriented Methodologies The Rumbaugh et al. OMT The Booch Methodology Jacobson

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

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

Introduction to Object Oriented Analysis and Design

Introduction to Object Oriented Analysis and Design A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,

More information

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach. Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction

More information

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean

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

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

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

1. Software Systems Complexity, OO Paradigm, UML

1. Software Systems Complexity, OO Paradigm, UML 1. Software Systems Complexity, OO Paradigm, UML Software Systems Complexity Inherent Arbitrary Complexity Problem Domain Complexity Expressing the Requirements Changing Requirements System Evolution -

More information

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming Slide 1 Lesson Objectives Understand major activities of software projects Understand the place of these in different lifecycle models

More information

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

ADD 3.0: Rethinking Drivers and Decisions in the Design Process ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method

More information

UNIT-I CHAPTER-1. An Overview of Object Oriented Systems Development

UNIT-I CHAPTER-1. An Overview of Object Oriented Systems Development UNIT-I CHAPTER-1 An Overview of Object Oriented Systems Development CHAPTER OBJECTIVES: You should able to define and understand: The object oriented philosophy and why we need to study it The unified

More information

Software Engineering

Software Engineering Software Engineering 0 Software design process or life cycle called Software Engineering 0 that addresses the management and technical issues of the development of software systems. 0 The software life

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

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

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

The Unified Modeling Language (UML)

The Unified Modeling Language (UML) The Unified Modeling Language (UML) A Very Distilled Introduction to The Unified Modeling Language (UML). A quick introduction to UML is given. Thereafter, the surface of class and activity diagrams and

More information

Object-Oriented Analysis & Design

Object-Oriented Analysis & Design i About the Tutorial This tutorial will help you understand the basics of object-oriented analysis and design along with its associated terminologies. Audience This tutorial has been designed to help beginners.

More information

Granularity. Inheritance Bi-directional. Association. Derived A1

Granularity. Inheritance Bi-directional. Association. Derived A1 Granularity This is the fifth of my Engineering Notebook columns for The C++ Report. The articles that appear in this column focus on the use of C++ and OOD, and address issues of software engineering.

More information

Introduction to UML. (Unified Modeling Language)

Introduction to UML. (Unified Modeling Language) Introduction to UML (Unified Modeling Language) What Is the UML? UML stands for Unified Modeling Language. UML is a family of graphical notations that help in describing and designing software systems

More information

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS

More information

3.0 Object-Oriented Modeling Using UML

3.0 Object-Oriented Modeling Using UML 3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:

More information

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado OO Requirements to OO design Csaba Veres Alan M. Davis (1995), Colorado Alan Davis? Guru? Academic and professional www.omni-vista.com? Controversial article on research into requirements engineering Requirements

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Implementation Work Flow. CSC 532: Advanced Software Engineer Louisiana Tech University

Implementation Work Flow. CSC 532: Advanced Software Engineer Louisiana Tech University Implementation Work Flow CSC 532: Advanced Software Engineer Louisiana Tech University Topics to cover Introduction Artifacts Workers Activities Introduction l Fundamental goal is to build a working version

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 2 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents What are software requirements? Requirements Engineering Process Domain

More information

Definition of Information Systems

Definition of Information Systems Information Systems Modeling To provide a foundation for the discussions throughout this book, this chapter begins by defining what is actually meant by the term information system. The focus is on model-driven

More information

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD A Comparison of the Booch Method and Shlaer-Mellor OOA/RD Stephen J. Mellor Project Technology, Inc. 7400 N. Oracle Rd., Suite 365 Tucson Arizona 85704 520 544-2881 http://www.projtech.com 2 May 1993 The

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

Object Oriented Model of Objectory Process

Object Oriented Model of Objectory Process Object Oriented Model of Objectory Process Characteristics of Original Process The original Objectory Process version 4.0 (demo version, Rational, 1997) is complex, but it is made more manageable by viewing

More information

On the Purpose of Object-Oriented Analysis

On the Purpose of Object-Oriented Analysis September 29 On the Purpose of Object-Oriented Analysis The What and How of what Geir Høydalsvik & Guttorm Sindre. The Norwegian Institute of Technology A critical look at: What is this about? The relationship

More information

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning Objectives Computer Science 202 Database Systems: Database Design To learn what an information system is. To learn what a Database Life Cycle (DBLC) is. To learn what a Systems Development Life Cycle (SDLC)

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p.

Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. Preface p. xv Introduction to Software Engineering p. 1 The Scope of Software Engineering p. 3 Historical Aspects p. 4 Economic Aspects p. 7 Maintenance Aspects p. 8 Specification and Design Aspects p.

More information

Combining UML and Z in a Software Process

Combining UML and Z in a Software Process Combining UML and Z in a Software Process Ebba Thora Hvannberg University of Iceland, Reykjavik, Iceland, ebba@hi.is Abstract: Observing students writing specification in UML and Z has motivated the work

More information

3. XML Foundations; Introduction to Modeling

3. XML Foundations; Introduction to Modeling 3. XML Foundations; Introduction to Modeling DE + IA (INFO 243) - 30 January 2008 Bob Glushko 1 of 35 Plan for Today's Lecture XML Foundations for Document Engineering Models and modeling The classical

More information

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 1: An Overview of Object- Oriented Systems Development Goals The object-oriented philosophy and why we need to study it.

More information

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem UNIT-1 ECS-503 Object Oriented Techniques Part-1: Object-Oriented Programming Concepts What Is an Object? Objects are key to understanding object-oriented technology. Look around right now and you'll find

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

An end-user s perspective What system? I haven t seen a new system

An end-user s perspective What system? I haven t seen a new system References 1. Object-Oriented Software Engineering---Practical software development using UML and Java, T.C. Lethbridge and R. Laganiere, McGraw-Hill, 2005. 2. Object-Oriented Systems Analysis and Design

More information

UCT Application Development Lifecycle. UCT Business Applications

UCT Application Development Lifecycle. UCT Business Applications UCT Business Applications Page i Table of Contents Planning Phase... 1 Analysis Phase... 2 Design Phase... 3 Implementation Phase... 4 Software Development... 4 Product Testing... 5 Product Implementation...

More information

Patterns and Testing

Patterns and Testing and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3

More information

Comparative Analysis of Architectural Views Based on UML

Comparative Analysis of Architectural Views Based on UML Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

Introduction to IRQA 4

Introduction to IRQA 4 Introduction to IRQA 4 Main functionality and use Marcel Overeem 1/7/2011 Marcel Overeem is consultant at SpeedSoft BV and has written this document to provide a short overview of the main functionality

More information

(Objective-CS605 Software Engeenring-II)

(Objective-CS605 Software Engeenring-II) Which one of the following is NOT a useful indicator of software quality? Correctness Code size (Page 67) Maintainability Integrity Usability Which one of the following does not belong to a strategy for

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

Software Architecture

Software Architecture Software Architecture L T JayPrakash jtl@iiitb.ac.in Software Architecture (recap) Other Influences on SA Therefore, SA is important and look into its constituents! Every software system has an architecture!

More information

Chapter 10 Object-Oriented Design Principles

Chapter 10 Object-Oriented Design Principles Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis

More information

BSIF. A Freeware Framework for. Integrated Business Solutions Modeling. Using. Sparx Systems. Enterprise Architect

BSIF. A Freeware Framework for. Integrated Business Solutions Modeling. Using. Sparx Systems. Enterprise Architect 33 Chester Rd Tawa 5028 Wellington New Zealand P: (+64) 4 232-2092 m: (+64) 21 322 091 e: info@parkconsulting.co.nz BSIF A Freeware Framework for Integrated Business Solutions Modeling Using Sparx Systems

More information

Answers NOT TO BE PRINTED

Answers NOT TO BE PRINTED Advanced Software Engineering, COMP3C05, 2002 Answer Question 1 and two further questions. Marks for each part of each question are indicated in square brackets Calculators are NOT permitted 1. Your 3C05

More information

11/8/ th IEEE Requirements Engineering Conference 27-Sep to 1-Oct, 2010

11/8/ th IEEE Requirements Engineering Conference 27-Sep to 1-Oct, 2010 11/8/2010 18 th IEEE Requirements Engineering Conference 27-Sep to 1-Oct, 2010 Requirements Engineering @ Intel few dedicated requirements engineers central training / coaching department still using Word

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

Object-Oriented Programming and Design

Object-Oriented Programming and Design C Sc 335 Course Overview Object-Oriented Programming and Design Rick Mercer Major Topics in C Sc 335 1. Java 2. Object-Oriented Programming 3. Object-Oriented Design 4. Technology 5. Object-Oriented Principles

More information

Chapter 7: Software Engineering. Copyright 2015 Pearson Education, Inc.

Chapter 7: Software Engineering. Copyright 2015 Pearson Education, Inc. Chapter 7: Software Engineering Chapter 7: Software Engineering 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 7.3 Software Engineering Methodologies 7.4 Modularity 7.5 Tools of the

More information

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 8 Database Design Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: That successful database design must reflect the information

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Coding Is Essentially 0% of Creating Software http://e.ubmelectronics.com/2013embeddedstudy/index.html 2 Old-School Waterfall Development Cycle Bugs SPECIFY

More information

User Centered Design Interactive Software Lifecycle

User Centered Design Interactive Software Lifecycle Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática User Centered Design Interactive Software Lifecycle Human-Computer Interaction Beatriz Sousa Santos, 2012/2013 User centered

More information

Introduction to Assurance

Introduction to Assurance Introduction to Assurance Overview Why assurance? Trust and assurance Life cycle and assurance April 1, 2015 Slide #1 Overview Trust Problems from lack of assurance Types of assurance Life cycle and assurance

More information

Level 4 Diploma in Computing

Level 4 Diploma in Computing Level 4 Diploma in Computing 1 www.lsib.co.uk Objective of the qualification: It should available to everyone who is capable of reaching the required standards It should be free from any barriers that

More information

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture UML Modeling Sumantra Sarkar ssarkar@cis.gsu.edu 29 th June 2010 CIS 8090 Managing Enterprise Architecture All diagrams and definitions used in this presentation have been acknowledged in the reference

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli Identify and overcome the difficulties encountered by students when learning how to program List and explain the software development roles played by students List and explain the phases of the tight spiral

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Avancier Methods (AM) Software Architecture Diagrams

Avancier Methods (AM) Software Architecture Diagrams Methods (AM) Software Architecture Diagrams in the AM viewpoint library It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission

More information

Representing System Architecture

Representing System Architecture Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View

More information

Designing a System Engineering Environment in a structured way

Designing a System Engineering Environment in a structured way Designing a System Engineering Environment in a structured way Anna Todino Ivo Viglietti Bruno Tranchero Leonardo-Finmeccanica Aircraft Division Torino, Italy Copyright held by the authors. Rubén de Juan

More information

Oracle Communications Design Studio

Oracle Communications Design Studio Oracle Communications Design Studio Concepts Release 7.2.2 E35787-01 January 2013 Oracle Communications Design Studio Concepts, Release 7.2.2 E35787-01 Copyright 2013, Oracle and/or its affiliates. All

More information

Object-Oriented Programming Design and Analysis Elena Punskaya,

Object-Oriented Programming Design and Analysis Elena Punskaya, Object-Oriented Programming Design and Analysis Elena Punskaya, op205@cam.ac.uk!1 Object-Oriented Programming First programs: anything goes! 1960s-1970s: structured programming! - any computable function

More information

Notation Standards for TOGAF:

Notation Standards for TOGAF: Welcome! Notation Standards for TOGAF: BPMN and UML Play Together Matt Smith Architecture Consultant Architecture Context Business Modeling Process Information Messaging Participants Software Systems Analysis

More information

Unit-4 OBJECT ORIENTED DESIGN WORKFLOW

Unit-4 OBJECT ORIENTED DESIGN WORKFLOW Unit-4 OBJECT ORIENTED DESIGN WORKFLOW SYLLABUS: Design workflow-format of the attributes- allocation of operations- Osbert Oglesby case study- Workflows of the unified process-phases of the unified process-

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Index. Add Diagram > Sequence Diagram command,

Index. Add Diagram > Sequence Diagram command, Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered

More information

Introduction to System Analysis and Design

Introduction to System Analysis and Design Introduction to System Analysis and Design - Dr. Mahmoud Abu-Arra - Mr. Ahmad Al-Ghoul Learning Objectives Explain systems development tools, including modeling, prototyping, and CASE tools Discuss and

More information

1 OBJECT-ORIENTED ANALYSIS

1 OBJECT-ORIENTED ANALYSIS UML and Patterns.book Page 3 Sunday, August 9, 200 2:50 PM Chapter OBJECT-ORIENTED ANALYSIS AND DESIGN The shift of focus (to patterns) will have a profound and enduring effect on the way we write programs.

More information

Final Exam CISC 475/675 Fall 2004

Final Exam CISC 475/675 Fall 2004 True or False [2 pts each]: Final Exam CISC 475/675 Fall 2004 1. (True/False) All software development processes contain at least separate planning, testing, and documentation phases. 2. (True/False) The

More information

Oriented Models: The Design Environment

Oriented Models: The Design Environment Generating Adaptable Multimedia Software from Dynamic Object-Oriented Oriented Models: The OBJECTWAND Design Environment Prof. Dr.-Ing. Christian Märtin Dipl.-Inf. (FH) Michael Humpl Fachbereich Informatik

More information

Dimensions for the Separation of Concerns in Describing Software Development Processes

Dimensions for the Separation of Concerns in Describing Software Development Processes Dimensions for the Separation of Concerns in Describing Software Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com http://www.navision.com,

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

What is a prototype?

What is a prototype? Prototyping Unit 4 Learning outcomes Understand the uses of different types of prototypes for different kinds/stages of design and be able to choose appropriately Know the basic techniques for low-fidelity

More information

Functional verification on PIL mode with IAR Embedded Workbench

Functional verification on PIL mode with IAR Embedded Workbench by Cristina Marconcini, STM CASE s.r.l. Functional verification on PIL mode with IAR Embedded Workbench The increase of complexity of embedded system components combined with time-to-market constraints

More information

Passport Automation System

Passport Automation System 1.Objective: To develop the passport automation system software using UML language. It is the interface between applicant and authority responsible for issue the passport. It aims at improving efficiency

More information

Intro to Software Requirements

Intro to Software Requirements Intro to Software Requirements What question do software requirements answer? Who, what, when, where, why, how What is the system to do? Who are the system user groups? Business case tells us why (and

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

Chapter 5: Structural Modeling

Chapter 5: Structural Modeling Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class

More information

4.2.2 Usability. 4 Medical software from the idea to the finished product. Figure 4.3 Verification/validation of the usability, SW = software

4.2.2 Usability. 4 Medical software from the idea to the finished product. Figure 4.3 Verification/validation of the usability, SW = software 4.2.2 Usability Intended purpose, Market Validation Usability Usability Risk analysis and measures Specification of the overall system SW SW architecture/ of SW SW design Software design & integration

More information