• No results found

Chapter 1: Introduction

N/A
N/A
Protected

Academic year: 2021

Share "Chapter 1: Introduction"

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

U

si

n

g

U

M

L

, P

at

te

rn

s,

an

d

J

av

a

O

b

jec

t-O

ri

en

ted

S

o

ft

w

ar

e

E

n

g

in

eer

in

g

Chapter 1: I ntroducti on

(2)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 2

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

(3)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 3

Prérequis pour le cours

Prérequis :

(4)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 4

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)

(5)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 6

Outline of Today’s Lecture

The development challenge

Dealing with change

Concepts: Abstraction, Modeling, Hierarchy

Methodologies

Organizational issues

Lecture schedule

Exercise schedule

Associated Project

(6)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 7

(7)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 8

(8)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 9

(9)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 10

Can you develop this system?

The impossible

Fork

(10)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 13

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

(11)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 14

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

Making the design and development

decisions explicit to all stakeholders

involved.

(12)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 15

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,

(13)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 16

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)

(14)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 17

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

(15)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 18 20

Challenge: Dealing with complexity and

change

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

Software Engineering: A Working

Definition

(16)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 19

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.

(17)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 20

Course Outline

Dealing with Complexity

Notations (UML, OCL)

Requirements Engineering,

Analysis and Design

OOSE, SA/SD, scenario-based

design, formal specifications

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

Activity-vs Entity-based

views

Application of these Concepts in the

Exercises

(18)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 21

(19)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 25

Que faire ensuite ?

Lire les lectures obligatoire et conseillée

Obligatoire : Chapter 2 Bruegge&Dutoit,

Object-Oriented Software Engineering

2.1, 2.2, 2.3, 2.4 (long !)

Conseillée : Chapter 1 Bruegge&Dutoit

1.1, 1.2, 1.3, 1.4

(20)

Bernd Bruegge & A l l en H . D utoi t Obj ect-Ori ented Sof tw are Engi neeri ng: Usi ng UM L, Patterns, and Java 26

Lecture obligatoire

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

References

Related documents

analysis Output Variables Results obtained from analysis Number of Auto trippings Significant variable Feeder length Significant and suitable variable Feeder off duration

When applied to measures with overlap in item content across correlated constructs, in the absence of a global factor and cross-loadings, CFA is forced to account for the shared

In the Company’s Proxy Statement for the 2006 Annual Meeting of Shareholders, the bonus amounts, as reflected in the Summary Compensation Table, were reported in the year that

The dissemination on results and implementation of action plans and timely re-audit will be coordinated by the Audit and Quality Midwife and reported to the Maternity Clinical

: Emergency Sheltering in Australia: Considerations Beyond the Four Walls and a Roof, 2012 (Manuscript submitted for publication). 2) The Sphere Project : The Sphere

This session aims at stimulating the interest businesses and present stakeholders and arrange in the afternoon separate meetings among interested cultural

Types of NSP Private Faith-based NGO Spontaneous community-based Philanthropy Unrecognised private providers establishing and running private schools filling gap in

For the stripmap mode, we can take the azimuth spectral weighting using a window function to multiply the data in the frequency domain because the Doppler histories of the targets