PRZ OPI wyklad 7 IIe pdf


 Organizacja projektów informatycznych
Rzeszów, 2008 rok
Projektowanie i implementacja
Tomasz Leś
Dział Marketingu Produktów
Etapy procesu KONTRAKT
Etapy procesu KONTRAKT
Określenie wymagań klienta
Przygotowanie oferty
Przygotowanie umowy
Inicjowanie kontraktu
Planowanie kontraktu
Realizacja kontraktu
Zamknięcie kontraktu
Produkcja oprogramowania w etapie realizacji
KONTRAKTU
Szczegółowa analiza wymagań
Projekt rozwiązania
Kodowanie
Przeglądy kodu i testy modułowe
Testy integracyjne (kontrola jakości)
Instalacja i szkolenie klienta
Testy akceptacyjne (klient)
Serwis oprogramowania (help-desk,
gwarancja)
PROJEKTOWANIE
Miejsce projektowania w modelu
miejsce projektowania w modelu kaskadowym
Wstęp 1/2
Celem fazy projektowania jest udzielenie odpowiedzi na
pytanie:
Jak system ma być zaimplementowany?
Jak system ma być zaimplementowany?
Wstęp 2/2
Projektowanie rozpoczynamy od analizy
wymagań stawianych systemowi i na ich
podstawie tworzymy cztery rodzaje
projektów:
1. architektury systemu
2. struktury danych
3. interfejsu u\ytkownika
4. poszczególnych modułów
Agenda:
1. Pojęcia i zasady dotyczące projektowania
2. Projekt architektury systemu
3. Elementy analizy i projektowania
strukturalnego
4. Projektowanie relacyjnych baz danych
5. Projektowanie interfejsu u\ytkownika
6. Zasady tworzenia dokumentacji projektowej
Pojęcia i zasady dot. Projektowania
Abstracja  pozwala rozwa\ać problemy na wybranym
poziomie szczegółowości
Uściślenie  wyjaśnienie sposobu działania oprogramowania
Modularność  podział na składniki - moduły
Architektura oprogramowania  struktura oprogramowania i
sposób połączenia w integralny system
Hierarchia sterowania  opis zorganizowania modułów, z
którego wynika hierarchiczna struktura przepływu
sterowania
Dzielenie programu na części  podziały: pionowy i poziomy
Struktura danych  logiczne związki między elementami
danych
Podział metod projektowania
Metody nieformalne  opis w języku naturalnym
Metody półformalne  zapis graficzny bądz symboliczny np. UML
Metody formalne  rzadko stosowane, projekt realizowany poprzez
formalne przekształcenia (np. VDM)
Metody strukturalne  zakładają dekompozycję na: dane i procesy
operujące na danych
Metody obiektowe  wykorzystanie obiektów do wykorzystania w
językach obiektowych
Metody hybrydowe  połączenie metod strukturalnych i obiektowych
Architektura systemu 1/4
Projektowanie architektury systemu rozpoczynamy
od projektu architektury danych, następnie
opisujemy architekturę systemu analizując ró\ne
rodzaje i wzorce aby wybrać tę najlepiej
spełniającą oczekiwania klienta i kryteria jakości,
a w końcu uzupełniamy opis za pomocą metod
projektowania architektury.
Architektura systemu 2/4
Architektura systemu to ogólny
schemat opisujący jego formę
i strukturę, czyli składniki
systemu i sposób ich
połączenia
Jarrold Grochow
Architektura systemu 3/4
Wzorce architektury:
1. Architektura skoncentrowana na danych 
najwa\niejszym elementem jest baza danych
2. Architektura oparta na przepływie danych 
skoncentrowana na przetwarzaniu danych
wejściowych na wyjściowe przez ró\ne moduły
systemu
3. Architektura wywołań i powrotów  oparta o
hierarchię sterowania (programy/podprogramy)
4. Architektura obiektowa  dane wraz z operacjami,
komunikacja przy pomocy komunikatów
5. Architektura warstwowa  oparta o warstwy z których
ka\da wykonuje ró\ne zadania
Architektura systemu 4/4
Przykład  warstwowy model J2EE:
Struktury danych 1/3
Proces tworzenia
Świat zewnętrzny
bazy danych
Modelowanie
schematów
Analiza
Integracja
wymagań
schematów
Model rzeczywistości
Modelowanie
wyra\ony za pomocą
wymagań dot. danych
koncepcyjne
Model rzeczywistości
Modelowanie
wyra\ony za pomocą
plików i struktur dostępu
logiczne
(indeksy)
Model rzeczywistości
Modelowanie
Ilość danych, wyra\ony za pomocą
reguł architektonicznego
fizyczne
U\ycie, analiza
modelu danych
Integralności
Decyzje
System bazy danych
implementacyjne
Struktury danych 2/3
Podstawą relacyjnego modelowania danych są
encje.
Encja jest osobą, miejscem, rzeczą lub pojęciem,
które posiada cechy interesujące z punktu
widzenia przedsiębiorstwa i o którym chce się
przechowywać informacje.
Encje NIE są tabelami.
Struktury danych 3/3
- Encje (niezale\ne, zale\ne),
- Atrybuty (pojedyncze, grupowe),
- Klucze (kandydujące, główne, obce),
- Związki (identyfikujące, nieidentyfikujące, kategorii,
perspektywy),
- Symbole końcowe związków (liczności,
opcjonalności),
- Tabele i perspektywy (zbiory danych klienta,
operacyjne zbiory danych),
- Kolumny (elementy danych klienta, elementy
danych operacyjnych),
- Klucze (główne, sztuczne, alternatywne, obce),
- Więzy
Interfejs u\ytkownika 1/2
Model spiralny procesu projektowania interfejsu:
Analizowanie u\ytkowników, zadań i otoczenia
Projektowanie interfejsu
Konstruowanie interfejsu
Zatwierdzanie interfejsu
Interfejs u\ytkownika 2/2
Projekt interfejsu rozpoczynamy od
identyfikacji u\ytkowników, zadań i
wymagań co do sposobu działania
interfejsu. Następnie przygotowujemy
scenariusze u\ycia systemu i na ich
podstawie określamy obiekty i czynności
interfejsu.
Moduły i procedury 1/2
Posiadając projekty danych, architektury i
interfejsów mamy podstawę do projektowania
modułów i procedur.
Projektowanie modułów i procedur polega na
zdefiniowaniu szczegółów algorytmicznych
niezbędnych do manipulowania strukturami
danych, nawiązywaniu komunikacji i
zaimplementowaniu algorytmów przetwarzania
danych.
Moduły i procedury 2/2
Programowanie strukturalne
Notacja graficzna
Notacja tablicowa
Pseudokod
Programowanie obiektowe
Analiza obiektowa
Opracowanie modelu obiektowego dziedziny
zastosowania
Rozpoznane obiekty odzwierciedlają byty i
operacje związane z rozwiązywanym
problemem
Projektowanie obiektowe
Opracowanie modelu obiektowego systemu
oprogramowania, który będzie implementacją
zidentyfikowanych wymagań
Obiekty projektu obiektowego są związane z
rozwiązaniem problemu
Programowanie obiektowe
Programowanie obiektowe
Realizacja projektu oprogramowania za
pomocą języka programowania obiektowego
Języki obiektowe umo\liwiają bezpośrednią
implementację obiektów i dostarczają
udogodnienia do definiowania klas obiektów
IMPLEMENTACJA
Implementacja
miejsce implementacji w modelu kaskadowym
Języki programowania
Rodzaje języków
Cechy języków
Języki programowania aplikacji internetowych
Ranking popularności języków programowania
Pozycja N azwa W ynik (%)
1 Ja va 12,77
2 De lphi 9,99
3 C++ 9,74
4 Pe rl 6,38
5 Ruby 5,91
6 PHP 5,53
7 C# 4,48
8 C 4,46
9 Pytho n 4,40
10 Asse mble r 4,18
11 PL/S QL 4,14
12 XS LT 3,91
13 Ja vaS cript 3,70
14 Pascal 3,13
15 Fortran 3,06
zródło: Software Developers Journal 3/2008
Architektury aplikacji
- MVC  Model View Controller
- PCMEF  Presentation Control mediator Entity
Foundation
- XWA  eXtensible Web Architecture
MVC (Model View Controler)
PCMEF Presentation  Control  Mediator  Entity  Foundation
XWA
eXtensible Web
Architecture
Technologie wykonania
J2EE
.NET
Interfejsy
CORBA
SOAP
WebServices
Wzorce projektowe
Wzorce architektoniczne
konstrukcyjne
strukturalne,
operacyjne
Projektowanie obiektowe z wykorzystaniem wzorców
Przykłady diagramów UML i programów
Wzorce konstrukcyjne
Słu\ą do pozyskiwania obiektów;
Opisują szczegółowo, jak obiekt mo\e zostać stworzony,
Czynią kod niezale\nym od typów tworzonych obiektów;
Wybór konkretnej klasy uzale\niany jest np. od parametrów
konfiguracyjnych;
Przykłady:
Singleton,
Fabryka,
Metoda Fabrykująca,
Fabryka Abstrakcyjna,
Budowniczy
Prototyp
Wzorce strukturalne
Stosowany do łączenia obiektów w większe
struktury;
Zastosowanie np. w implementacji zło\onego
interfejsu u\ytkownika;
Przykłady:
Fasada,
Adapter,
Most,
Kompozyt,
Dekorator,
Waga Piórkowa,
Proxy
Wzorce operacyjne (czynnościowe)
W celu definiowania komunikacji pomiędzy obiektami;
Pomagają kontrolować przepływ danych w zło\onym
programie;
Przykłady:
Iterator,
Aańcuch Odpowiedzialności,
Stan,
Mediator,
Obserwator,
Strategia
Literatura
1. Dean Leffingwell, Don.Widrig  Zarządzanie wymaganiami , WNT Warszawa
2003
2. Alistair Cockburn,  Jak pisać efektywne przypadki u\ycia , WNT 2004
3. Andrzej Jaszkiewicz,  In\ynieria oprogramowania , Helion
4. Paul Beynon-Davies,  In\ynieria systemów informacyjnych , WNT, wyd III
5. J. Górski, wyd. II,  In\ynieria oprogramowania w projekcie informatycznym ,
Mikom 2000
6. Roger S. Pressman  Praktyczne podejście do in\ynierii oprogramowania , WNT
Warszawa 2004
7. Deepak Alur, John Crupi, Dan Malks,  J2EE Wzorce projektowe , Helion 2004
Pytania ?


Wyszukiwarka

Podobne podstrony:
PRZ OPI wyklad 6 IIe pdf
OPI wykład 9 IIe pdf
Wyklad (Kryptografia) Pdf
wyklad wyklad4(tarcie pdf)
Wykład 7 chemia PDF
Wykład 6 chemia PDF
5 Analiza systemowa wykłady PDF 11 z numeracją
wyklad pdf
WYKŁAD NR 5 HYDRAULIKA i HYDROLOGIA (PDF)
Wykład 5 Elementy logiki i metodologii nauk pdf
wyklad pdf
WYKŁAD NR 8 HYDRAULIKA i HYDROLOGIA (PDF)
WYKŁAD St Opi cz3
WYKLAD 4 OPI
WYKŁAD St Opi cz1
WYKLAD 3 OPI

więcej podobnych podstron