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 pdfOPI wykład 9 IIe pdfWyklad (Kryptografia) Pdfwyklad wyklad4(tarcie pdf)Wykład 7 chemia PDFWykład 6 chemia PDF5 Analiza systemowa wykłady PDF 11 z numeracjąwyklad pdfWYKŁAD NR 5 HYDRAULIKA i HYDROLOGIA (PDF)Wykład 5 Elementy logiki i metodologii nauk pdfwyklad pdfWYKŁAD NR 8 HYDRAULIKA i HYDROLOGIA (PDF)WYKŁAD St Opi cz3WYKLAD 4 OPIWYKŁAD St Opi cz1WYKLAD 3 OPIwięcej podobnych podstron