(A Very Brief) Introduction to Software Engineering

Size: px
Start display at page:

Download "(A Very Brief) Introduction to Software Engineering"

Transcription

1 (A Very Brief) Introduction to Engineering Authors: Address: Version: 1.1 Simon Pickin, Marisol García Vals Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Spain 1 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 2 1

2 What is Engineering? (1/4) The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines F.L. Bauer. Engineering. Information Processing 71., What is Engineering? (2/4) engineering is the technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost estimates R. Fairley. Engineering Concepts. McGraw-Hill (New York),

3 What is Engineering? (3/4) engineering. (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1) IEEE Std What is Engineering? (4/4) Engineering is the systematic application of scientific knowledge in creating and building cost-effective solutions to practical problems in the service of mankind. engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems. SEI Report on Undergraduate Engineering Education,

4 What is not Engineering? (1/2) Computer science concerned with theory and fundamentals software engineering concerned with practicalities of developing and delivering useful software. still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering). Engineering, Sommerville 7 What is not Engineering? (2/2) System engineering concerned with all aspects of computer-based systems development including hardware, software and process engineering software engineering is the part of this process concerned with developing the software infrastructure, control, applications and databases in the system. system engineers involved in system specification, architectural design, integration and deployment. Engineering, Sommerville 8 4

5 Why Engineering (1/4)? Term software engineering popularised in the late 1960s Response to the so-called software crisis hardware performance was increasing much faster than software performance. large software system development was unsatisfactory; major projects: were usually delivered late (sometimes very late) usually went over-budget (sometimes massively overbudget) gave rise to unreliable products that were difficult to maintain 9 Why Engineering (2/4)? Techniques used for single-developer software do not scale up. large projects require a team quality of communication between members a serious problem documentation Desire to benefit from previous experience Need to plan for maintenance and evolution important design decisions must be documented 10 5

6 Why Engineering (3/4)? with the client/user is of paramount importance understand the client requirements e.g. Xtreme programming: client represented on development team 11 Why Engineering (4/4)? Need to estimate how much effort, time and money needed based mainly on modelling of current project & comparison to previous projects do we want the job? how much to charge? c.f. Constructive Cost Model COCOMO Constructive Systems Engineering Cost Model COSYSMO c.f. The mythical man month, Brooks, 1975: adding manpower to a late software project makes it later 12 6

7 What is a software development process? Process: A series of actions or operations conducing to an end (Websters) development process The set of activities, methods and practices used in the production and evolution of software. 13 What is a software development process? A software development process can include a lifecycle model dividing the development into phases and prescribing the activities to be carried out in each phase providing criteria to determine when each development phase has terminated defining the deliverables / artifacts / products of each phase consideration of tools and equipment consideration of personnel and their organisation constraints on activities, artifacts, tools, personnel, etc. For many authors: Development Process = Life-Cycle 14 7

8 What is a software life-cycle? The period of time that starts when a software is conceived and ends when the product is no longer available for use. The software life-cycle typically includes a requirements phase, design phase, implementation phase, test phase, installation and check-out phase, operation and maintenance phase, and sometimes, retirement phase. A Lifecycle Model is a particular abstraction that represents a Life Cycle. A Life Cycle model is often called a Development Life Cycle (SDLC). IEEE Standard Glossary of Soft. Eng. Terminology 15 (& Hardware) Modelling Sceptic s view of Models: bubbles and arrows, as opposed to programs, never crash Bertrand Meyer 1997 The use of models is as old as engineering before building the real thing, engineers build models and learn from them Some desirable characteristics of a model abstract understandable accurate predictive inexpensive to build 16 8

9 Modelling: The Purpose of Models To help us understand a complex problem by analysis and simulation To enable the investigation and comparison of alternative solutions To facilitate the communication of ideas about a problem or a solution To enable the detection of errors and omissions during the design To drive the implementation software peculiarity: the model becomes the implementation 17 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 18 9

10 The Development Process System analysis Development Operation and Maintenance User requirements system 19 Waterfall Life Cycle Model (1/2) Requirements analysis Design Implementation and unit testing Integration and system testing Operation and maintenance 20 10

11 Waterfall Life Cycle Model (2/2) Requirements analysis Specification of software system Design Design of architecture and components Implementation and unit testing Implemented components Integration and system testing Integrated system Operation and maintenance 21 V Life Cycle Model Requirements capture Requirements analysis Architectural design Component design Real world validation System verification Subsystems verification Components verification Operation and Maintenance Acceptance testing System integration Subsystem integration Component coding Unit testing 22 11

12 Incremental Life Cycle Model Planning of whole system and the different iterations is done at the beginning Development & delivery broken down into increments each increment delivers part of the required functionality User requirements prioritised highest priority included in early increments Requirements for an increment whose development has started are frozen requirements for later increments can continue to evolve. Prototyping: each iteration can be treated as a prototype 23 Evolutionary Life Cycle Model No initial planning of whole system and different iterations final system evolves from initial outline specification Start with well-understood requirements and add new features as proposed by the customer on last iteration Objective of each iteration is to understand the system requirements Prototyping: each iteration can be treated as a prototype 24 12

13 Spiral Life Cycle Model (generalised) Determine: objectives alternatives constraints Evaluate alternatives Identify and resolve risks Cost Progress Plan next phase Develop next level product and process Verify / validate product and process 25 Spiral Life Cycle Model (original version) Source: A Spiral Model of Development and Enhancement Barry Boehm, IEEE Computer, May

14 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 27 Requirements Engineering Systematic use of well-established principles, techniques, languages and tools to obtain the costeffective analysis and documentation of continuallyevolving user needs and the specification of the external behaviour of a system that satisfies these needs. Donald Reifer (see Pressman) The task of capturing, structuring and accurately representing the user s requirements so that they can be correctly embodied in systems which meet those requirements. FOLDOC (

15 Context of the Analysis Phase Requirements capture / development what Requirements analysis (and specification) design how Usual definition: requirements engineering = requirements capture, analysis and specification Some authors: requirements engineering = requirements analysis requirements capture and specification 29 Structured Analysis data description entity-relation diagrams data dictionary data-flow diagrams functional description state-transition diagrams control description 30 15

16 OO Analysis Based on objects and their operations/attributes instead of on data flows Currently most commonly-used notation: UML structural models (class model, component model, ) behavioural models (use-cases, state model, collaborations, interactions, ) Structural models via domain analysis Behavioural models use-case modelling is favoured technique other behavioural models can be problematic refinement of analysis model to design model? 31 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 32 16

17 Brief Historical Notes (1/2) Late 1960s: control oriented design (Structured Programming) modularity single-entry, single-exit program constructs (sequence, selection, iteration) no use of go to construct (but what about exception handling?) : Goto Statement Considered Harmful, Dijkstra, Comm. ACM, Brief Historical Notes (2/2) 1970s: data-structure oriented design (extension of Structured Programming) program code structure reflects data structure e.g. Jackson Structured Programming 1980s: object-oriented design unifies data-structure oriented and control oriented design (or does it?) currently most commonly-used notation: UML 34 17

18 What is software architecture? The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. ANSI/IEEE Std , Recommended Practice for Architectural Description of -Intensive Systems 35 Architectures System top-down design Subsystem bottom-up design Component Deployment Unit (not only!) Module Compilation unit Data Functions 36 18

19 Architecture Essentials Components and subsystems what are the individual elements Connections how components communicate Topology how components and connections are organised Constraints restrictions on components, connections, topology, evolution, 37 Architectural Styles Restrict the way in which components can be connected Promote fundamental principles separation of concerns, generality, incrementality, low coupling, high cohesion, Based on success stories also chosen in function of application type Examples: pipe-and-filter, layers, software bus, client-server, peer-to-peer, hierarchical, centralised control, 3-tier client-server, etc

20 Typical Design Process Specification of software requirements Architectural design Detailed design Subsystems Interfaces Design model: architecture Components Interfaces Design model: components Interactions Modules Control Data Procedures Algorithms 39 Some Basic Design Concepts Abstraction emphasis on important details, omitting characteristics that are not relevant in the context Refinement the process of gradually adding more detail, going from more abstract models to more concrete models Modularity decomposition into components that are to be integrated to satisfy the problem requirements Information hiding ensuring components only make available such information as is needed by other components (interfaces do not show design/implementation details) 40 20

21 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 41 Some Design Quality Factors (1/2) External criteria (user point of view) Correctness Reliability Usability / user-friendliness Good performance Robustness Internal criteria (developer point of view) Efficiency Maintainability Reusability Portability Interoperability 42 21

22 Some Design Quality Factors (2/2) From the maintenance and reuse perspective Functional independence of components High intra-component cohesion Low inter-component coupling Readability / understandability Naming scheme Complete and up-to-date documentation Simplicity / Elegance Adaptability Evolvability and generality Automation of access to documentation Automation of version control 43 SQA: Quality Assurance (1/2) Involves activities performed throughout the software life cycle Definition of verification (after IEEE): ensure a software system, or a model of it, meets a specification (often produced in a previous development phase) concerned with internal consistency are we building the system right? Definition of validation (after IEEE): ensure a software system, or a model of it, meets the requirements (customer s intent) concerned with external consistency are we building the right system? Testing usually considered validation but can also be verification Metrics 44 22

23 SQA: Quality Assurance (2/2) Source: Object-oriented Engineering. Steven Schach. McGraw-Hill. 45 What Are Formal Methods? Formal semantics: semantics based on set theory, algebra, logic, automata, graph theory, etc. Formal specification: an abstract description with a formal semantics; specification styles: model-oriented property-oriented Formal method: a method used in software/hardware development involving use and manipulation of formal specifications: proving properties on formal specifications deriving implementations, or other software artifacts (e.g. test cases), from formal specifications proving properties on implementations by using an abstract interpretation of the code 46 23

24 Use of Formal Methods Especially important for safety-critical systems, e.g.: aircraft, trains, metro power grid, power stations telecom networks... Also for secure systems May also be worthwhile for low-cost but massively produced systems Often introduced after serious problem occurs, e.g.: model-checking at Intel after Pentium floating point division error discovered 47 Formal Methods for SQA (1/2) Increase understanding of the system modelled Automate common software development activities code generation test generation / test synthesis Analysis/simulation of models from early phases of software development: early consistency checking early detection of errors, omissions, ambiguities, undesirable properties, 48 24

25 Formal Methods for SQA (2/2) Analyse implementations detection of errors, omissions, ambiguities, undesirable properties, Model transformation & consistency checking between models: at different levels of abstraction from different development phases 49 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 50 25

26 What is software testing? The execution of the software implementation in a controlled fashion using carefully chosen input data and the observation of the result. testing is one aspect of Quality Assurance (SQA) 51 Definition of a test case A specification of an interaction between the Implementation Under Test (IUT) and the test software, or human user (playing the role of the IUT environment), in which the latter stimulates the IUT via its interfaces, observes its behaviour and its responses and, if it includes a test oracle, assigns a verdict to the result of this interaction. A test case is designed to exercise a particular execution or verify compliance with a specific requirement

27 Testing: True or False (1/3) The effort that must be dedicated to testing is under-estimated by most software developers. undoubtedly; developers tend to think in terms of lines of code per day Testing must always be carried out by people from a different team to the development team. not all testing always (e.g. unit testing), but some testing always No testing can be carried out until the implementation of the whole application is available. e.g. unit testing Testing is more of a craft than a science. experience of the test personnel is often crucial No test cases can be written before the code to be tested is available. not always (e.g. unit testing with JUnit) 53 Testing: True or False (2/3) The ultimate goal of testing is to demonstrate that the software being developed is error-free. impossible to do with testing After fixing errors found in the testing phase the software being developed should be re-tested. the errors may not have been fixed and the attempt to fix them (successful or not) may have introduced new errors The testing phase of a typical software development life cycle terminates when the software being developed contains no more errors. one can never be sure of this If a module from a well-tested software product is re-used in another product from the same product line, it does not need re-testing. e.g. Ariane

28 Testing: True or False (3/3) Testing activities can be easily automated. this is precisely why it is still more of a craft than a science All errors found in testing of a software product under development should be fixed before the product is released. Always a compromise between severity of the error and cost of fixing it Automatic test generation has the potential to produce huge productivity gains automation is difficult but very desirable When software is modified, the test cases that were used on the previous version should be executed on the modified version. this is regression testing; new test cases may also be necessary, of course 55 Basic Testing Notions (1/2) The goal of testing is to find errors NOT to prove their absence a successful test finds an error no amount of testing can guarantee an error-free program Should test that the application does what it is supposed to do does not do what it is not supposed to (as far as possible). Testing approaches (sometimes term grey box is also used) black box testing white box testing (structural testing) Testing phases unit testing integration testing system testing 56 28

29 Basic Testing Notions (2/2) Test coverage white box: segments, branches, conditions, loops, black box: requirements Test data selection (mainly for black box) equivalence partition (uniformity hypothesis) boundary value analysis Other types of testing acceptance testing performance testing robustness testing stress testing interoperability testing regression testing mutation testing 57 Contents 1. Overview / definition of terms 2. Lifecycle models 3. Requirements capture, analysis and specification 4. design 5. quality 6. testing 7. Some recent developments 58 29

30 Some Recent Developments (1/3) Design patterns general, repeatable solution to a commonly-occurring problem in software design inspiration in architecture, esp. work of Christopher Alexander insufficient theoretical foundation? frameworks: a reusable design for a software system or subsystem (architectural pattern?) product lines software development process for a set of related products generally use software frameworks 59 Some Recent Developments (2/3) Lightweight development (in response to software & documentation bloat ): extreme programming, Scrum, etc. agile modelling Model driven development primary artifacts are models rather than programs ( code generation) OMG s MDA initiative (PIMs and PSMs) design refactoring Service-oriented architecture (SOA) architectural style whose goal is to achieve loose coupling among interacting software agents playing producer or consumer roles 60 30

31 Some Recent Developments (3/3) Component Based Engineering system assembled (at least partially) from existing cmpnts. Open Source Engineering collaboration between often large numbers of spatiallyseparated developers novel management and organisational structure heterogeneity in use of tools, approaches etc. study of relation to traditional S.E. on-going Web Engineering (development of Web applications) currently very popular types of applications are there particular development characteristics or is it just hype? 61 31

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

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

10. Software Testing Fundamental Concepts

10. Software Testing Fundamental Concepts 10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost

More information

Software Engineering

Software Engineering CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang : Introduction Wednesday, January 18 th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Software Engineering Software

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

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing Universiti Teknologi Malaysia 2016 Software Engineering 2 Recap on SDLC Phases & Artefacts Domain Analysis

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

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

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

CMSC 435: Software Engineering Section 0201

CMSC 435: Software Engineering Section 0201 CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!

More information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends! Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be

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

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

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

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

Topics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.

Topics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring. CS310 - REVIEW Topics Process Agile Requirements Basic Design Modular Design Design Patterns Testing Quality Refactoring UI Design How these things relate Process describe benefits of using a software

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

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

Introduction to Software Engineering

Introduction to Software Engineering Chapter 1 Introduction to Software Engineering Content 1. Introduction 2. Components 3. Layered Technologies 4. Generic View of Software Engineering 4. Generic View of Software Engineering 5. Study of

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

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

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

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

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

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

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS

CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering?

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

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

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

Certified Tester Foundation Level(CTFL)

Certified Tester Foundation Level(CTFL) Certified Tester Foundation Level(CTFL) ISTQB : International Software Testing Qualifications Board Heading: The International Software Testing Qualifications Board (ISTQB) is an internationally recognized

More information

CT41 (ALCCS) SOFTWARE ENGINEERING JUN 2015

CT41 (ALCCS) SOFTWARE ENGINEERING JUN 2015 Q.1 a. What is the role of software engineering? (4) Role of software engineering with reference to producing good quality software, maintainable software, and on time within budget. b. Differentiate between

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

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

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

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

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

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

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Chapter 9 Quality and Change Management

Chapter 9 Quality and Change Management MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department 1 SOFTWARE ENGINEERING Networks and Communication Department Lecture 6 By: Latifa ALrashed Outline q q q q q q q q Define the concept of the software life cycle in software engineering. Identify the system

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

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information

Software Development Chapter 1

Software Development Chapter 1 Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!

More information

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements. Requirements. Types of Requirement. What Is a Requirement? Beatrice Åkerblom beatrice@dsv.su.se Everything else in software development depends on the requirements. If you cannot get stable requirements you cannot get a predictable plan... What Is a Requirement?!

More information

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz ESE Introduction Lecturer Assistants Lectures Exercises WWW Prof. Oscar Nierstrasz scg.unibe.ch/oscar Erwann Wernli Aaron

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

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

The software lifecycle and its documents

The software lifecycle and its documents The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes

More information

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351a: Software Project & Process Management W4.1: Requirements Engineering 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa SE351 Roadmap Introduction to Software Project Management Project Management

More information

Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)

Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model) Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach 14:30 Case Study of Elevator Control System (problem definition, use case model) March 19th 13:00 Case Study of Elevator Control

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

Introduction To Software Development CSC Spring 2019 Howard Rosenthal

Introduction To Software Development CSC Spring 2019 Howard Rosenthal Introduction To Software Development CSC 295-01 Spring 2019 Howard Rosenthal Course References Materials for this course have utilized materials in the following documents. Additional materials taken from

More information

Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015

Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015 Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015 Write your name in B L O C K C A P I T A L L E T T E R S. First Name: Last Name: Student ID: 1-20 α β + γ Total Record your answers

More information

SE420 - Software Quality Assurance

SE420 - Software Quality Assurance SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

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

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

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

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc-CST Semester / Year : Even / II Subject Name

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

CS 575: Software Design

CS 575: Software Design CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

System Design and Modular Programming

System Design and Modular Programming CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the

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

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should

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

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas Reference: egos-stu-rts-rp-1002 Page 1/7 Authors: Andrey Sadovykh (SOFTEAM) Contributors: Tom Ritter, Andreas Hoffmann, Jürgen Großmann (FHG), Alexander Vankov, Oleg Estekhin (GTI6) Visas Surname - Name

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

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

Component-based Development Process and Component Lifecycle

Component-based Development Process and Component Lifecycle Journal of Computing and Information Technology - CIT 13, 2005, 4, 321-327 321 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2 and Michel Chaudron 3 1 Mälardalen

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

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info (Complete Package) WEB APP TESTING DB TESTING We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

SE 2730 Final Review

SE 2730 Final Review SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more

More information

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014

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

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

((MARKS)) (1/2/3...) ((QUESTIO N)) ((OPTION_ A)) What is Software?

((MARKS)) (1/2/3...) ((QUESTIO N)) ((OPTION_ A)) What is Software? SNJB s Late Sau. KBJ COE, Chandwad Department of Computer Engg PART I : Software development process, language and software development environments, language and software design methods, languages and

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

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

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

Software processes. Objectives. Contents

Software processes. Objectives. Contents 2 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process a coherent set of activities for software production. When you have read this chapter

More information

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT Otthein Herzog IBM Germany, Dept. 3100 P.O.Box 80 0880 D-7000 STUTTGART, F. R. G. ABSTRACT tn the IBM Boeblingen Laboratory some software was

More information

CHAPTER 5 GENERAL OOP CONCEPTS

CHAPTER 5 GENERAL OOP CONCEPTS CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview

More information