lecture slides 04

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.1

Wykład 4

Projektowanie

MIS-1-505-n In˙zynieria oprogramowania
Pa´zdziernik 2014

Kazimierz Michalik

Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.2

Agenda

1

Wprowadzenie

2

Czynno ´sci procesu projektowania

3

Metody projektowania

4

Projektowanie architektoniczne

5

Projektowanie obiektowe

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.3

Implementacja

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.4

Implementacja = Projektowanie + Programowanie

Implementacja

= Projektowanie + Programowanie

Projekt to opis:

struktury oprogramowania

danych w systemie

interfejsów mi ˛edzy komponentami

u˙zytych algorytmów

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.5

Projektant nie tworzy od razu ko ´

ncowego projektu!

Projekt opracowuje si ˛e iteracyjnie w czasie

Projekt mo˙ze mie´c wiele ró˙znych wersji

W miar ˛e upływu czasu projekt jest coraz bardziej formalny
i szczegółowy

Powraca si ˛e do ju˙z opracowanych fragmentów w celu ich
poprawy

Sprz ˛e˙zenie zwrotne mi ˛edzy fazami projektowania i powtarzanie
prac s ˛

a nieuniknione w ka˙zdym procesie projektowania!

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.6

Wyró˙zniamy ró˙zne rodzaje projektowania:

Projektowanie architektoniczne (Architektury systemów
rozproszonych)

Projektowanie obiektowe

Projektowanie oprogramowania czasu rzeczywistego

Projektowanie z u˙zyciem wielokrotnym

Projektowanie interfejsu u˙zytkownika

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.7

Czynno ´sci procesu projektowania:

Projektowanie architektury

Specyfikowanie abstrakcyjne

Projektowanie interfejsów

Projektowanie komponentów

Projektowanie struktur danych

Projektowanie algorytmów

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.8

Metoda ad hoc:

Nieformalny projekt

Projekt jest zmieniany w miar ˛e programowania

Nie ma formalnej kontroli zmian

Nie ma zarz ˛

adzania projektem

Po zako ´nczeniu fazy implementacji projekt jest najcz ˛e´sciej
niepoprawny i niekompletny

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.9

Metody strukturalne

Graficzne modele systemu

Du˙za ilo´s´c dokumentacji projektowej

Obejmuj ˛

a modele przepływu danych, model

encja-zwi ˛

azek, model strukturalny, modele dziedziczenia,

statycznych i dynamicznych zwi ˛

azków i inne.

Przykładowe metody strukturalne:

Structured Design
Structured System Analysis
Jackson System Development

Ró˙zne dla projektowania obiektowego

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.10

Co to jest projektowanie architektoniczne?

Systemy s ˛

a podzielone na podsystemy, powi ˛

azane

poprzez interfejsy.

Definicja

Pocz ˛

atkowa faza procesu projektowania, w której identyfikuje

si ˛e podsystemy i ustala zr ˛

ab sterowania oraz komunikacji to

projektowanie architektoniczne.

Produktem tej fazy jest opis architektury oprogramowania.

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.11

Zalety projektowania architektonicznego

Komunikacja z uczestnikami

Podstawa do dyskusji na bardzo ró˙znych poziomach

Analiza systemu

Ujawnienie architektury we wczesnej fazie pozwala na
przeprowadzenie analizy pod k ˛

atem krytycznych cech systemu

U˙zycie wielokrotne w wielkiej skali

Architektura jest zwartym i łatwym do opanowania opisem
organizacji systemu i współpracy komponentów

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.12

Czynno ´sci projektowania architektonicznego

1

Strukturalizacja systemu

2

Modelowanie sterowania

3

Podział na moduły

Podsystem a moduł:

Podsystem

: jego usługi nie zale˙z ˛

a od usług oferowanych

przez inne systemy; składa si ˛e z modułów; maj ˛

a

interfejsy do komunikacji z innymi podsystemami

Moduł

: komponent systemu; oferuje co najmniej jedn ˛

a

usług ˛e innym modułom; korzysta z innych
modułów; zwykle nie jest traktowany jako
niezale˙zny system

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.13

Model architektoniczny 4+1

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.14

Projektowanie obiektowe

Projektowanie obiektowe

jest to strategia projektowania, w której projektanci systemu
my´sl ˛

a w kategoriach „bytów”, a nie operacji albo funkcji

Działaj ˛

acy system składa si ˛e z oddziałuj ˛

acych na siebie

obiektów.

Obiekty przechowuj ˛

a swój lokalny stan i oferuj ˛

a operacje

na tym stanie

Obiekty ukrywaj ˛

a informacje o reprezentacji stanu i

ograniczaj ˛

a do niego dost ˛ep.

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.15

Projektowanie obiektowe

Jest cz ˛e ´sci ˛

a tworzenia obiektowego

w którym strategie obiektowe s ˛

a stosowane w czasie całego

procesu tworzenia:

Analiza obiektowa

Projektowanie obiektowe

Programowanie obiektowe

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.16

Projektowanie obiektowe: pierwsze pi ˛e ´c zasad

S.O.L.I.D.

S

– SRP – Single responsibility principle

O

– OCP – Open/closed principle

L

– LSP – Liskov substitution principle

I

– ISP – Interface segregation principle

D

– DIP – Dependency inversion principle

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.17

SRP

Single responsibility principle

a class should have only a single responsibility (i.e. only one
potential change in the software’s specification should be able
to affect the specification of the class)

Zasada pojedynczej odpowiedzialno ´sci

Nigdy nie powinno by´c wi ˛ecej ni˙z jednego powodu do
modyfikacji klasy.

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.18

OCP

Open/closed principle

“software entities . . . should be open for extension, but closed
for modification.”

Zasada otwarte-zamkni ˛ete

elementy systemu takie, jak klasy, moduły, funkcje itd. powinny
by´c otwarte na rozszerzenie, ale zamkni ˛ete na modyfikacje

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.19

LSP

Liskov substitution principle

“objects in a program should be replaceable with instances of
their subtypes without altering the correctness of that program.”

Zasada podstawienia Liskov

Funkcje które u˙zywaj ˛

a wska´zników lub referencji do klas

bazowych, musz ˛

a by´c w stanie u˙zywa´c równie˙z obiektów klas

dziedzicz ˛

acych po klasach bazowych, bez dokładnej

znajomo´sci tych obiektów.

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.20

ISP

Interface segregation principle

“many client-specific interfaces are better than one
general-purpose interface".

Zasada segregacji interfejsów

wiele interfejsów odpowiadaj ˛

acych konkretnym potrzebom jest

lepsze ni˙z jeden ogólny interfejs do wszystkiego

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.21

DIP

Dependency inversion principle

one should “Depend upon Abstractions. Do not depend upon
concretions.”

Zasada odwrócenia zale˙zno ´sci

Zale˙zno´sci powinny opiera´c si ˛e na abstrakcjach, a nie na ich
konkretnych realizacjach.

background image

Projektowanie

Wprowadzenie

Czynno´sci procesu
projektowania

Metody projektowania

Projektowanie
architektoniczne

Projektowanie
obiektowe

4.22

G.R.A.S.P.

GRASP

General Responsibility Assignment Software Patterns (or
Principles)

Controller

Creator

High Cohesion

Indirection

Information Expert

Low Coupling

Polymorphism

Protected Variations

Pure Fabrication


Document Outline


Wyszukiwarka

Podobne podstrony:
lecture slides 05
lecture slides
lecture slides Powerpoint Slides Week1 1 1 Homeostasis revised
lecture slides Powerpoint Slides Week1 1 4 Effective Solute & Water Transport revised
lecture slides Powerpoint Slides Week1 1 2 Homeostatic Regulation revised
lecture slides Powerpoint Slides Week1 1 3 Transporters, Pumps & Channels revised
lecture slides Powerpoint Slides Week1 1 6 Endocrine Assessment & Pathology revised v2
lecture slides Powerpoint Slides Week1 1 5 Endocrine General Concepts revised
lecture slides Powerpoint Slides Week1 1 0 Course Introduction revised
lecture slides 0105 EndoConcepts 2013 copyright
Feynman Lectures on Physics Volume 1 Chapter 04
Lecture 04 05 06 C Primer New
Lecture 04 05 06 C Primer New
Econometrics, Lecture 3, 2014 03 04
Lecture 04

więcej podobnych podstron