Documente Academic
Documente Profesional
Documente Cultură
1 Introducere
Proiectul trebuie s ofere o soluie pentru urmtorul enun de problem. Echipa proiectului va folosi metodologia Agile Model Driven Development (AMDD) 1 descris mai jos. Figura 1 ilustreaz ciclul de via AMDD pentru dezvoltarea unui sistem software.
Figura 1 Activiti
Figura 2 arat cum se planific activitile AMDD i jaloanele (milestones) pe durata ciclului de dezvoltare a sistemului.
1
Scott W. Ambler. Agile Model Driven Development (AMDD): The Key to Scaling Agile Software Development . http://www.agilemodeling.com/essays/amdd.htm
Definii o cerin la un moment dat. Evitai conjunciile (i, sau) care includ mai multe cerine ntr-o singur fraz. nainte de scrierea cerinei, definii toate entitile implicate i toi actorii implicai (substantive la singular). Cerina se exprim sub form de propoziie complet, cu subiect (entitate sau actor) i predicat (verb). Exemple: Profesor evalueaz o Tem; Un Student este nscris la mai multe Cursuri. (B) Capturai i cerinele de sprijin (supporting requirements, ex. Business Rules) dup cum se descrie n ablonul de cerine de sprijin. (C) [Modelul de cazuri de utilizare (Use Case Model)] Realizai modelul cazurilor de utilizare MCU MCU este un model al cazurilor de utilizare sistem, coninnd cazuri de utilizare, actori i relaiile dintre acestea (acetia). (D) Detaliai unele cazuri, scriind scenarii. Folosii urmtorul ablon de descriere a cazurilor de utilizare. Unele CU trebuie descrise mai detaliat pentru validarea sau mai buna nelegere a unei cerine i pentru a oferi D un punct de plecare n munca sa. n acest moment se detaliaz doar CU care sunt semnificative din punctul de vedere al arhitecturii sau cele considerate importante (li se d o prioritate mare) de ctre stakeholders. (E) [Modelul iniial al domeniului, MID Initial Domain Model] Definii un model conceptual dac acesta ajut la obinerea unei imagini de ansamblu (big picture) asupra entitilor din domeniul problemei (business entities) i a relaiilor dintre acestea. MID trebuie s fie uor de neles de ctre stakeholder. n acest moment MID conine doar entitile (obiectele) care reprezint elementele eseniale ale domeniului problemei i relaiile dintre ele.
sarcinile la D. Informaia de proiectare obinut se trece n documentul ablon de proiect. (A) Rafinarea modelului domeniului (Refine the domain model). Modelai entitile implicate n scenariile din iteraia curent. (B) Determinarea comportamentului sistemului (Determine the system behavior). Desenai cte o diagram de secven sistem pentru fiecare scenariu (Write a system sequence diagram for each scenario) o Se identific operaiile sistem (system public interface). o Metodele trebuie scrise folosind obiectele din domeniu. Scriei contractele operaiilor sistem (Write system operation contracts) o Nume, descriere, pre/post condiii pentru each operation.
(C) Modelarea controlerelor i a serviciilor (Model controllers and services) Aplicai ablonul GRASP Controller i abloanele indicate de arhitectura logic stabilit. Atribuii operaiile sistem la obiectele Controler Stabilii serviciile folosite de obiectele Controler (D) Scrierea unei liste de sarcini de lucru dup ablonul de sarcini de lucru. Sarcinile de lucru se exprim folosind o obiectele Controller, serviciile i obiectele de domeniu proiectate o obiectele de acces la date (data access objects) asociate obiectelor de domeniu nou proiectate, n concordan cu arhitectura logic stabilit o ferestrele (vederile, views) necesare (proiectate) pentru iteraia curent vederile vor apela metodele obiectelor Controller Va fi nevoie de mai multe edine de mbuntire a modelului, deoarece dup o singur iteraie nu se produce un proiect complet.
o Aplicai abloanele GRASP (General Responsibility Assignment Patterns). o D proiecteaz depozitele de date (repositories), regulile de validare i toate celelalte obiecte din domeniu necesare. o Proiectarea se face de ctre D care i s-a atribuit implementarea operaiei sistem n cauz. o Informaia de proiectare obinut se trece n documentul ablon de proiect. (F) Actualizarea diagramei de clase de proiectare (Update Software Class Diagram). o Se adaug metode la clasele existente o Se rafineaz asocierile
Thomas Risberg. Developing a Spring Framework MVC application step-by-step. 2005. http://www.springframework.org/docs/MVC-step-by-step/Spring-MVC-step-by-step.html
Figura 5 TDD