Programmation Object & Genie Logiciel

Size: px
Start display at page:

Download "Programmation Object & Genie Logiciel"

Transcription

1 Licence Mention Informatique L2/S Programmation Object & Genie Logiciel Burkhart Wolff Département Informatique

2 Bibliographie et Weberies UML 2.0, Martin Fowler, Campus Press, 2004 Developing Applications with Java and UML, Paul R. Reed Jr., Addison Wesley, 2002 UML 2 et les Design Patterns, G. Larman, Campus Press, 2005 UML 2 en action, P. Roques, F. Vallée, Eyrolles 2004 Paul R. Reed Jr., Addison Wesley, 2002 The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison-Wesley, 2005 Précis de Génie Logiciel, M.-C. Gaudel, B. Marre, F. Schlienger et G. Bernot, Masson, 1996 The Science of Programming, D. Gries, Springer Verlag, L2-GL - Intro 2

3 Part II.1 : Introduction to Software Engineering If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside. Robert X. Cringely

4 technological aspects society aspects Why Software Engineering? Why does ad-hoc software development not scale: Software becomes more and more complex and large Constraints to trustworthyness, safety, security, Growing mix of hardware and software (complexity!), Informatics is omnipresent et «diffuse» Presence of clients, with imprecise and changing requirements, with whom we must communicate Development in (very) large, longstanding teams nec. Software can have a long life-cycle, implying maintenance reference documents Bad image of a company, loss of market credibility obstacle for development Legal constraints (Common Criteria Certification, Antri-Trust-Laws,...) L2-GL - Intro 4

5 Software becomes more dangerous... Trust, safety and security of software : Transportation: railway, aircrafts, space, Control of industrial processes, nuclear, military, Tele-surgery, medical imaging and instruments Communication infrastructure, e-commerce,... Economics: costs and delay of development of reliable software, reflecting customer needs, accepted by stakeholders and the public Techniques and tools evolve : in 20 years: factor 100 (?) higher la density components local errors accumulate, so more large and complex systems require more quality in local components! Technological aspects, methodologies, management, as in other industrial activities L2-GL - Intro 5

6 Software becomes BIG... Windows 7: Team of 1200 programmers only 5 Bln development costs (estimation) Revenues : 20 Bln (estimation)! Legal Bindings: years! Problems: Legal Battle about Windows Server 98; led to a settlement with the EU costing 700 mio! Technological aspects, methodologies, management, as in other industrial activities... That is what Software Engineering is talking about! L2-GL - Intro 6

7 Famous Software Desasters Mariner 1 (Venus, 1962) : wrong transcription of a formula erratic corrections of the trajectory (crash during flight) 1981 : Delay of first start of spaceship «voyager» (problème de synchronisation des résultats de calculateurs redondants) : Overdosis in a radiotherapy system (Therac-25, 5 dead). Item : Crash of planning and tracking system of london ambulance calls 1996 : Crash of flight 501 of Ariane 5 («validation» problem of the systeme) Juillet 1997 : Blocking of names of the domaine.com Septembre 1999 : Loss of Mars Climate Orbiter after 9 months of flight. Costs : 120 M$ (confusion of unities between two different components) 2004 : defect of reservation system for SNCF tickets, 2004 : denial of access for the Bouygues Télécom and France Telecom networks 2008 : Toll-Collect Desaster (Allemagne) 2010 : NPfIT desaster in Great Britan (Loss: 12 Billion British Pound) L2-GL - Intro 7

8 Call-backs? (interrogations) Example of a call-back: Speed Control Renault Laguna (2005) Is it an informatics-bug or not? Is it a problem of interaction hardware/software/environment? Even if no «bug», no-one is completely convinced! need to justify/control the «proces of construction» (Common Criteria) need to guarantee quality of tests of final product Ubiquity of software! Peugeot 607 = 2 Mb of embedded software, 40 processors, 20 % total cost «Needs» (ABS, ESP, electronic pedals, sensors, ) Interaction of services difficult to control. Trafic/Interferences on busses Validation of the systeme with all combinations of variants/options? Future automatisation of métro lines (RATP ligne 1: 2010) What validation process? Responsabilities: RATP or industrial partners (SIEMENS) Who authorizes finally the service? With what prospected reliability? L2-GL - Intro 8

9 Some figures Size of software systems? Windows «90» : 10 M. LOC source, Win2000: 30 M. LOC Core RedHat 7.1 (2002) : ~2.4 M. LOC, XWindow ~1.8 M., Space shuttle (and its environment) : ~50 MLOC Colombus Station (abandoned) : 980 MLOC compiled?? Development costs? Proportion of «Coding» : % Coding is more and more automated (CASE-tools, MDA) Proportion of Validation and Verification? ~ 40% Proportion of Specification and Design? ~ 40% Estimation of «Necessary Manpower» (Boehm) Man-Month = 3,5 * C 1,2 («Complexity C» very approximative, but clearly Man-Months grow non-linear! see for an overview on cost estimation methods...) L2-GL - Intro 9

10 Des chiffres sur les «défauts logiciels» Algorithms Code 25% 15% 60% Specification and design Distribution of faults Algorithms Code 8% 9% Distribution of costs of faults 83% Source: F. Fichot, Cours de Conduite de Projets, IFIPS L2-GL - Intro 10

11 Particularities of software Complexity strongly depends on applications : Synchronisation, repartition of processes (concurrency, true parallelism) Nature or volume of data, existence of algorithmic problems, Interdependency of hardware and software, Performance or «real-time réponse» (in reactive systems) Apparently, software is easy to modify (versatility) but impacts/consequences of modifications are difficult to predict Difficult prediction on fault-rates and mesurement of «quality»: small changes may have the most dramatic consequences (in contrast to physics: small changes have usually small impacts) no way to predict the «probability» of impacts/consequences Weak visibility of development processes for clients, but also management! Importance of the phases (requirements) analysis, design, validation Need for an «industrial» development process, i.e. s.th. tracable Need for document-orientation of the development (at least in classic S.E.) L2-GL - Intro 11

12 Different aspects of Software Engineering Development Mgt. Risc Management MANAGEMENT PROCESS Configuration Management «PeopleWare» (Staff, Sub-contractors) FEASIBILITY STUDIES (BEFORE PROJET) SPECIFICATION & DESIGN Development QUALITY ASSURANCE Maintenance & Support PRODUCTION INTEGRATION & VALIDATION EXPLOITATION TECHNICAL PROCESS QUALITY CONTROL METRICS PROCESSUS QUALITE L2-GL - Intro 12

13 Organisational aspects: the conduct of projets Planning, organisation, problem detection, reaction! Estimation of costs and delays Planning (e.g. diagrams like PERT or GANTT charts) Follow-ups (Suivi): management of staff, des échéances et fournitures à remettre au client Risk Management (prevention or corrections) Configuration management (versioning of documents, sources, and tests as well as keeping track of their links and dependencies) Document management associted to different phases of software production (part of configuration management!) and all that respecting quality norms... (document types, circuits de validation, règles de nommage) L2-GL - Intro 13

14 Development Phases vs. Documents A Sequence of increasingly precise and executable documents, Informal Requirement Specification (Cahier des charges informel) -> model(s) of the analyse (captures / formalizes the requirements) -> model(s) of design (captures interfaces of the implementation) -> code (implementation) -> validation et vérification protocols, documentation Development in «phases» Each phase of the development process ends by producing (versions of) these documents verified and validated before transition to next phase. Each phase contributes to a number of «activities», which are pervasive Production of Documentation (user manuals(manuel utilisateur), reference manuals (manuel de référence), installation manual (manuel d installation), ): extended at different phases. Activity of Validation/Verification L2-GL - Intro 14

15 Activities and Phases (1) Phase Requirements Analysis (capture des besoins) Study of the environment and the system application context, analysis of requirements and constraints (performance, ergonomics, portability, ) Output: requirement specification (cahier des charges) Phase specification analysis (analyse et spécification) Description of what the system should do (and not how) Output: analysis models Phase architectural design (conception architecturale) Decomposition of the software into «components» Conception of an integration proceeding and order of the different components (increments); conception of related tests for integration Phase (detailed) design (conception détaillée) Choice of algorithms, data structures,definition of interfaces and classes to describe conception of tests which verify or validate the implementation Output: design documents, possibly code-interfaces, code fragments, pseudo-code, mock-ups, prototypes L2-GL - Intro 15

16 Activities and Phases (2) Phase coding Phase unit test Controled execution of tests of each procedure/method if they behave as defined Phase integration and intégration tests Execution of test scenarios conceived in the analysis (Emphasis on high-level system behaviour) Phase Acceptance Tests and System test (by the producer) Test global tests under real conditions (platforms, under stress, mesuring performance,...) Phase Deployment (Recette; par le client) Tests, inspection of delivered documents, possibly véerification of relevant quality norms L2-GL - Intro 16

17 Beyond phases Importance of documentations : stake-holders: users, admins, mainteners, providers, general public Distinction of two complementary activities : Validation: check that the right system is built (what is needed by the client; «external» coherence) Verification: check if the system has been built right (what has been specified? «internal» coherence) Importance of tracability! (extremely important in open-source devs!) Document and archive the choices beend done! (mailings, versions,...) Enforce the coherence between the models and the product (environments must be «forward/reverse engineered») Importance of archiving, version and configuration management (versioning documents, «building» particular configurations) Guarante of document coherence wrt. to different versions Guarante of reconstructibility of particular versions (can you re-build version and observe if bug XXX occurs in it?) L2-GL - Intro 17

18 And after deployment? Maintenance is painful and expensive! Correction maintenance: correction of critical bugs Adaptive maintenance: new OS version, new hardware, new performance problems, Y2K!!! Evolutionary maintenance: integrating new functionality Even worse: it may be nbecessary to maintain different versions/configurations of systems simultaneously! Maintenance costs: 2-4 times more than development? Need for regression tests from one version to another: Requires precise test goal descriptions (input, expected output and execution context + requirement trancing in tests) Need for test automation (execution, metrics, archiving) and, therefore, tool-chains L2-GL - Intro 18

19 Process development models Organisation of the phases associated documents Structuring of the process and improve its visibility, Development of Tool Support for a concrete process (RUP, V Model, Spiral, Méthodes Agiles, Xtreme programming,...) Produce templates for associated documents Minimise risc of procedural errors the software process Support for non-linear development (back-tracks) (modification of requirements, correction of design errors, modification of technical environment (platform), )? Are there methodologies adapted to the general tendancies? Distributed aspects in informatics, Global trends like virtualization, Need for interoperability (SOAP, WebServices, XML, ) Component-based approches (reuse, «COTS», libraries, frameworks) Separation of business logic (logique métier) / technical services (Norms like spécifications J2EE et.net, WebServices) L2-GL - Intro 19

20 The V-Model (Le Modèle en V) Requirements Engineering Installation, Systeme Tests Specification Acceptance Tests Architectural Design Detailed Design Integration & Integration Tests Unit Tests Coding Principle temporal dependencies Potential Back-flow Plans and Document Flow Historically best known, and pretty pedagogical! The descending flow produit les guides pour les phases montantes Pédagogique, mais pas toujours adapté (global, linéaire) L2-GL - Intro 20

21 The V-Model (Le Modèle en V) Analyse des besoins, Faisabilité Installation, Test Système Spécification Test d acceptation Conception Architecturale Intégration Conception Détaillée Codage Tests unitaires Flux temporel principal Retour en arrière éventuel Plans et Documents Historically best known, and pretty pedagogical! The descending flow produit les guides pour les phases montantes Pédagogique, mais pas toujours adapté (global, linéaire) L2-GL - Intro 21

22 Other process development models Iteration Model Spiral Model (Boehm) Révision Spécification Version 2 Version 1 Prototype Analyse de risques Incrément n Validation Intégration et deploiement Exigences Spécification Implémentation Conception Principes généraux: Diminuer les risques, meilleure visibilité, retours utilisateur rapides, Intégration et validation progressive des fonctionnalités L2-GL - Intro 22

23 Development process models en vogue Xtreme Programming (and other méthodes agiles such as SCRUM) Development driven by tests, «client»-centered Permanent restructuring of code, coding in «teams of two» Permanent presence of the client Rational Unified Process (RUP): iterative, using UML. Architecture MDA (http://www.omg.org/mda/) Approach based on the transformation of UML models L2-GL - Intro 23

24 Summary Programming in the small is not enough! When constructing systems with more than LOC's, the development process must be structured: into phases establishing a bureaucratic decumentation process tool-chains for code-generation, testing, verification, documentation generation. the work of 1000 of collaborators must be organized... and financed There is no silver-bullet, not ONE particular SE Development Process, rather: every process model can be found in industry, from V-Model (large projects with public/military clients) to Methodes Agiles and Xtreme Programming (google)... to MDA (e.g. SAP) L2-GL - Intro 24

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

More information

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Software Engineering for Software-Intensive Systems: III The Development Life Cycle Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

I219 Software Design Methodology

I219 Software Design Methodology I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

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 Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6 Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6 Type of course Compulsory Year 3rd Semester 1st semester Student Workload: Professor(s) Maria Clara Silveira Total

More information

Experiences with certification of reusable components in the GSN project in Ericsson, Norway

Experiences with certification of reusable components in the GSN project in Ericsson, Norway Experiences with certification of reusable components in the GSN project in Ericsson, Norway Parastoo Mohagheghi (Ph.D. Student, NTNU) Reidar Conradi Ericsson AS, Grimstad, Dept. Computer and Information

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

Title: Topic 3 Software process models (Topic03 Slide 1). Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski

More information

CDC UNIFIED PROCESS JOB AID

CDC UNIFIED PROCESS JOB AID CDC UNIFIED PROCESS JOB AID Independent Verification & Validation Activities Document Purpose This Job Aid is a brief document listing the items to be noted, checked, remembered, and delivered when completing

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Chapter 2 Software Processes

Chapter 2 Software Processes Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering

More information

Motivation and Contents Overview

Motivation and Contents Overview Motivation and Contents Overview Software Engineering Winter Semester 2011/2012 Department of Computer Science cs.uni-salzburg.at Dr. Stefan Resmerita 2 Course Contents Goals Learning about commonly used

More information

The main concepts for object approaches and UML

The main concepts for object approaches and UML The main concepts for object approaches and UML Part 2 : The dynamical models UML - P. Bommel, J.P. Müller, M. Belem 1 The dynamical models To understand and describe the behaviours of the objects and

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

Outline. Definitions. Course schedule

Outline. Definitions. Course schedule SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

3F6 - Software Engineering and Design. Handout 15 Software Management I With Markup. Steve Young

3F6 - Software Engineering and Design. Handout 15 Software Management I With Markup. Steve Young 3F6 - Software Engineering and Design Handout 15 Software Management I With Markup Steve Young Contents 1. Software Engineering 2. Software Life Cycle 3. Team Organisation 4. Product Development 5. Specification

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Menouer Boubekeur, Gregory Provan

Menouer Boubekeur, Gregory Provan Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

A UML Introduction Tutorial

A UML Introduction Tutorial A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software

More information

Security Requirements Analysis of Web Applications using UML

Security Requirements Analysis of Web Applications using UML Security Requirements Analysis of Web Applications using UML Salim Chehida 1, Mustapha kamel Rahmouni 2 1 Department of Informatics, University of Mostaganem, Algeria salimchehida@yahoo.fr 2 Department

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 Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project. 6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

System development lifecycle waterfall model

System development lifecycle waterfall model Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

The most suitable system methodology for the proposed system is drawn out.

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

More information

Lecture 03 (04.11.2013) Quality of the Software Development Process

Lecture 03 (04.11.2013) Quality of the Software Development Process Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software

More information

Change Management: Modeling Software Product Lines Evolution

Change Management: Modeling Software Product Lines Evolution Change Management: Modeling Software Product Lines Evolution Samuel A. Ajila, Ph.D. MIEEE Department of Systems & Computer Engineering, Carleton University, 25 Colonel By Drive, Ottawa, Ontario, KS 5B6,

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

ST3006 - Software Engineering

ST3006 - Software Engineering University of Dublin Trinity College ST3006 - Software Engineering Anthony Harrington Department of Computer Science Trinity College Dublin Anthony.Harrington@cs.tcd.ie Lifecycles A software project goes

More information

Software Project Models

Software Project Models INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,

More information

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to Unified Process Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to various application domains different organizations

More information

Verification and Validation of Software Components and Component Based Software Systems

Verification and Validation of Software Components and Component Based Software Systems Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research christina.wallin@mdh.se

More information

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

Why process models? Topic 3 Software process models. 3. Process models. What is a process model? Why process models? Topic 3 Software process models SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software... (IEEE Standard

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

Software Engineering in a Nutshell

Software Engineering in a Nutshell Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

SYSTEMS ANALYSIS DESIGN

SYSTEMS ANALYSIS DESIGN SYSTEMS ANALYSIS DESIGN Third Edition ALAN DENNIS Indiana University BARBARA HALEY WIXOM University of Virginia ROBERTA M. ROTH University of Northern Iowa WILEY John Wiley & Sons, Inc. http://www.wiley.com/college/dennis

More information

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.

More information

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1 Collaborative Large scale Integrating Project Open Platform for EvolutioNary Certification Of Safety critical Systems Methodology: Agile development of safety critical systems to deliverable D1.1 Work

More information

A Review of an MVC Framework based Software Development

A Review of an MVC Framework based Software Development , pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3205: Fundamentals of Software Engineering (Compulsory) INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design

More information

Test Cases Design for Software Database Provisioning Development

Test Cases Design for Software Database Provisioning Development Test Cases Design for Software Database Provisioning Development Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, South Korea sunguk@rist.re.kr Abstract This paper

More information

The PECOS Software Process

The PECOS Software Process The PECOS Software Process Michael Winter 2, Christian Zeidler 1, Christian Stich 1 PECOS is a collaborative project between industrial and research partners that seeks to enable component-based technology

More information

Introduction to Software Engineering. 9. Project Management

Introduction to Software Engineering. 9. Project Management Introduction to Software Engineering 9. Project Management Roadmap > Risk management > Scoping and estimation > Planning and scheduling > Dealing with delays > Staffing, directing, teamwork 2 Literature

More information

Software Lifecycles Models

Software Lifecycles Models Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today s Lecture Modeling the software life cycle Sequential

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both

More information

Oracle Unified Method (OUM)

Oracle Unified Method (OUM) Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions O R A C L E W H I T E P A P E R J A N U A R Y 2 0 1 5 Table of Contents Executive Overview 1 Introduction

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental

More information

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software? System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:

More information

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005 Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What

More information

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

Advanced Software Engineering FYI!

Advanced Software Engineering FYI! Advanced Software Engineering Dr. Overview of Software Engineering and Development Processes! CSE870! CSE870: Advanced Software Engineering (): Intro to Software Engineering 1 FYI! Professor in CSE! Here

More information

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document

More information

Supporting Workflow Overview. CSC532 Fall06

Supporting Workflow Overview. CSC532 Fall06 Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing

More information

Software Design Models, Tools & Processes *

Software Design Models, Tools & Processes * Software Design Models, Tools & Processes * Lecture 1: Software Design and Software Development Process Cecilia Mascolo * Thanks to Alan Blackwell and Jim Arlow for le7ng me use some of their slides. About

More information

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm

More information

A Process for ATLAS Software Development

A Process for ATLAS Software Development Atlas Software Quality Control Group A Process for ATLAS Software Development Authors : Atlas Quality Control Group M. Asai, D. Barberis (chairman), M. Bosman, R. Jones, J.-F. Laporte, M. Stavrianakou

More information

An Agile Formal Development Methodology

An Agile Formal Development Methodology An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,

More information

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) 1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models

More information

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Mastering increasing product complexity with Collaborative Systems Engineering and PLM Mastering increasing product complexity with Collaborative Systems Engineering and PLM Thierry Ambroisine Dassault Systèmes 10 rue Marcel Dassault, 78140 Vélizy Villacoublay, France thierry.ambroisine@3ds.com

More information

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area 398 / SE05117 Advanced Cover software lifecycle: waterfall model, V model, spiral model, RUP and

More information

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

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

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information