Chapter 1: Introduction



Similar documents
Chapter 1: Introduction

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

Chapter 13 Configuration Management

Chapter 13 Configuration Management

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

Change Management: Modeling Software Product Lines Evolution

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

Chapter 11: Integrationand System Testing

Classical Software Life Cycle Models

Software Lifecycles Models

Tech Day IBM 28 août 2009 RAT06P3 Introduction à Rhapsody Architect pour l Ingénierie des Systèmes et des Logiciels Embarqués

Cours de base / Basic Courses. Niveau avancé / Advanced Level ESL 1112 ESL 1113 ESL 2111 ESL 2112 ESL 2113

Lecture 20: Software Evolution

NUNAVUT HOUSING CORPORATION - BOARD MEMBER RECRUITMENT

TDDC88 Lab 2 Unified Modeling Language (UML)

Section C. Requirements Elicitation

Introduction to Software Engineering: Project Management ( Highlights )

Note concernant votre accord de souscription au service «Trusted Certificate Service» (TCS)

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

ESMA REGISTERS OJ/26/06/2012-PROC/2012/004. Questions/ Answers

Chapter 11: Integration- and System Testing

"Internationalization vs. Localization: The Translation of Videogame Advertising"

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Guidance on Extended Producer Responsibility (EPR) Analysis of EPR schemes in the EU and development of guiding principles for their functioning

Cliquez sur le résultat que vous avez obtenu au test de classement linguistique Click on the result you obtained following the language test

Post-Secondary Opportunities For Student-Athletes / Opportunités post-secondaire pour les étudiantathlètes

How To Develop A Multi Agent System (Mma)

THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Introduction. GEAL Bibliothèque Java pour écrire des algorithmes évolutionnaires. Objectifs. Simplicité Evolution et coévolution Parallélisme

Architecture. Reda Bendraou

Accélérer le développement d'applications avec DevOps

Enterprise Risk Management & Board members. GUBERNA Alumni Event June 19 th 2014 Prepared by Gaëtan LEFEVRE

How To Develop Software

STUDENT APPLICATION FORM (Dossier d Inscription) ACADEMIC YEAR (Année Scolaire )

The Ecole polytechnique : Training science-based leaders

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Chapter 4 Software Lifecycle and Performance Analysis

L Usine Numérique à l heure du PLM 2.0

An Automatic Reversible Transformation from Composite to Visitor in Java

Chap 1. Introduction to Software Architecture

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

Payment. amount. Payment. amount: Money. getbalance(): Money

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

REQUEST FORM FORMULAIRE DE REQUÊTE

Administrer les solutions Citrix XenApp et XenDesktop 7.6 CXD-203

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break!

CS 40 Computing for the Web

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

What is a life cycle model?

MSc programme (induction week) Computer Science Department INTRODUCTION TO UML

Operation Structure (OS)

Brief description of the paper/report. Identification

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Personnalisez votre intérieur avec les revêtements imprimés ALYOS design

Ghizlane El Boussaidi , boul. Lévesque Est Phone : (450)

A Process Model for Software Architecture

CHAPTER 11 REQUIREMENTS

17 Collaborative Software Architecting through Knowledge Sharing

Security Requirements Analysis of Web Applications using UML

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies

Object-oriented design methodologies

SERENITY Pattern-based Software Development Life-Cycle

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Administration Workshop I Release 2. 5 Jours [35 Heures]

Quel pilote ètes-vous

RAPPORT FINANCIER ANNUEL PORTANT SUR LES COMPTES 2014

Masters of Science in Software & Information Systems

Business Process Modeling with Structured Scenarios

Bachelor of Science [Computing Science & Information Systems] Programme Document

G&G MULTI CAMPAIGN HERMES.NET V4 CONTACT CENTER HERMES.NET V4. 29 novembre 2008

Qu est-ce que le Cloud? Quels sont ses points forts? Pourquoi l'adopter? Hugues De Pra Data Center Lead Cisco Belgium & Luxemburg

REQUEST FORM FORMULAIRE DE REQUÊTE

BUSINESS PROCESS OPTIMIZATION. OPTIMIZATION DES PROCESSUS D ENTERPRISE Comment d aborder la qualité en améliorant le processus

Product / Produit Description Duration /Days Total / Total

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2016 APPLICATION FORM

Chapter 13: Program Development and Programming Languages

Development Methodologies

Welcome to: M2R Informatique & MoSIG Master of ScienceSep. in Informatics 18, 2009 Joseph 1 / 1Fou

REQUEST FORM FORMULAIRE DE REQUETE

MODELING MULTIPLE REPRESENTATIONS INTO SPATIAL DATA WAREHOUSES: A UML-BASED APPROACH

Account Manager H/F - CDI - France

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Master in Management

A Review of an MVC Framework based Software Development

Systems and software engineering Lifecycle profiles for Very Small Entities (VSEs) Part 5-6-2:

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

The Software Lifecycle. Software Lifecycles

"Templating as a Strategy for Translating Official Documents from Spanish to English"

Session T1C A Cross-Disciplinary Software Engineering Project Implemented as a Web Service

A web-based multilingual help desk

«Object-Oriented Multi-Methods in Cecil» Craig Chambers (Cours IFT6310, H08)

Archived Content. Contenu archivé

Introduction à EMF Eclipse Modeling Framework

VIREMENTS BANCAIRES INTERNATIONAUX

El Mehdi MOZOUNA INGÉNIEUR, CONCEPTEUR, DÉVELOPPEUR. 3 années d expérience FORMATIONS ET PRINCIPALES QUALIFICATIONS :

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

LV1-LEO

Transcription:

Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 1: Introduction

Objectifs des cours Apprécier les fondammentales du Génie Logiciel: Methodologies Techniques de description et de modelisation Analyse du système - Ingénierie des exigences Conception du système Implementation: Principe de développement du système. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2

Prérequis pour le cours Prérequis : Vous avez déjà fait de la COO vous avez des bases en UML Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3

Focus: Acquire Technical Knowledge Different methodologies ( philosophies ) to model and develop software systems Different modeling notations Different modeling methods Different software lifecycle models (empirical control models, defined control models) Different testing techniques Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4

Outline of Today s Lecture The development challenge Dealing with change Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5

Can you develop this system? Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6

Can you develop this system? Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7

Can you develop this system? Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8

Can you develop this system? The impossible Fork Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9

Why is Software Development difficult? The problem is usually ambiguous The requirements are usually unclear and changing when they become clearer The problem domain (called application domain) is complex, and so is the solution domain The development process is difficult to manage Software offers extreme flexibility Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10

Software Development is more than just Writing Code It is problem solving Understanding a problem Proposing a solution and plan Engineering a system based on the proposed solution using a good design It is about dealing with complexity Creating abstractions and models Notations for abstractions It is knowledge management Elicitation, analysis, design, validation of the system and the solution process It is rationale management (gestion du raisonement) Making the design and development decisions explicit to all stakeholders involved. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11

Can we not use the Scientific Method? Not exactly, we need ideas and hypotheses The scientific method, unfortunately, has never quite gotten around to saying exactly where to pick up these hypotheses. The traditional scientific method has always been at the very best, 20-20 hindsight It's good for seeing where you've been. It's good for testing of what you think you know But it can't tell you where you should to go Creativity, originality, inventiveness, intuition, imagination "unstuckness," in other words are completely outside the domain of the scientific method Robert Pirsig, Zen and the Art of Motorcycle Maintenance, p. 251, Bantam Books, 1984. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12

Techniques, Methodologies and Tools Techniques: Formal procedures for producing results using some well-defined notation Methodologies: Collection of techniques applied across software development and unified by a philosophical approach Tools: Instruments or automated systems to accomplish a technique Interactive Development Environment (IDE) Computer Aided Software Engineering (CASE) Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13

Computer Science vs. Engineering Computer Scientist Assumes techniques and tools have to be developed. Proves theorems about algorithms, designs languages, defines knowledge representation schemes Has infinite time Engineer Develops a solution for a problem formulated by a client Uses computers & languages, techniques and tools Software Engineer Works in multiple application domains Has only 3 months... while changes occurs in the problem formulation (requirements) and also in the available technology. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14

Software Engineering: A Working Definition Software Engineering is a collection of techniques, methodologies and tools that help with the production of A high quality software system developed with a given budget before a given deadline while change occurs Challenge: Dealing with complexity and change Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 20

Software Engineering: A Problem Solving Activity Analysis: Understand the nature of the problem and break the problem into pieces Synthesis: Put the pieces together into a large structure For problem solving we use techniques, methodologies and tools. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16

Course Outline Dealing with Complexity Notations (UML, OCL) Requirements Engineering, Analysis and Design OOSE Testing Vertical and horizontal testing Dealing with Change Rationale Management Knowledge Management Patterns Release Management Configuration Management, Continuous Integration Software Life Cycle Linear models Iterative models Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17

C est tout pour aujourd hui! Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18

Que faire ensuite? Lire les lectures obligatoire et conseillée Obligatoire : Chapter 2 Bruegge&Dutoit, Object- Oriented Software Engineering 2.1, 2.2, Conseillée : Chapter 1 Bruegge&Dutoit 2.3, 2.4 (long!) 1.1, 1.2, 1.3, 1.4 Visiter le portail de GL http://portail.fil.univlille1.fr/portail/index.php?dipl=minfo&sem=s7&ue=gl Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19

Lecture Bernd Bruegge, Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns and Java, 3 rd Edition Pearson New International Edition, 3/E ISBN-10: 1292024011 ISBN-13: 9781292024011 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20