Proiectarea si Arhitectura Sistemelor Software Complexe

Slides:



Advertisements
Similar presentations
Exemple de bune practici în domeniul SCMI Endre-Sandor ERDŐDI, Manager public, Direcţia de politici publice.
Advertisements

În general exist ă 2 forme mari de conservare : “in situ” şi “ex situ” 1. Conservarea “ in situ” Aceast ă metod ă de conservare const ă în.
Aplicatie pentru intarirea capacitatii manageriale Coriolis Consulting pentru INCD-PM Alexandru Darabont.
Textul de confidentialitate Sigla SOFTWIN Prezentul document este proprietatea SOFTWIN şi informaţia inclusă în el este confidenţială. Se poate şterge.
2009 Pag Pag. 2 Agenda 1.Obiectivul proiectului 2.Parteneri 3.Autentificare versus identificare 4.Schema generala 5.Probleme de rezolvat / rezolvate.
Page 1 O echipă, un curs, un succes!. Page 2 Echipa: Formatori din Bibliotecile Judeene - Regiunea Oltenia Arge Gorj Dolj Vâlcea.
Batalia sexelor O lume dominata de barbati vs o lume dominata de femei.
Date spatiale. Continut - GIS notiuni Definitie Data si informatie Baze de date relationale (RDBMS) Baze de date spatiale (geo-spatial databases) - Modele.
ICF Capitol Local Bine ati venit. Ore de Pregatire Continua Sesiunea 1.
SĂNĂTATE ȘI SECURITATE în domeniul transportului rutier prin instruirea personalului Perspective privind creşterea siguranţei rutiere programul “PREVENT.
Bune practici in promovare pe Internet si SEO O prezentare de catre Cristian Mezei ( Slide 1 Bune practici in promovare.
1 Dezvoltarea regională în Republica Moldova: Realizări i perspective Realizări i lecii învăate în urma asistenei oferite de Proiectul MDRD Martin Rimmer,
1 InfraStruXure Tendinte in IT si probleme cu climatizarea in centre de date Mirela Danciu APC Distribution Manager Romania.
”EUROPEAN PROJECT MANAGEMENT”
-Modelul Entitate-Legatura (ER)-
Ionuţ Hrubaru: In Memory Databases Ionuţ Hrubaru: Iaşi,
Instrumente CASE Curs nr. 7.
Posibilităţi de analiză în timp real a parametrilor de calitate a apei cu ajutorul sistemului informatic de management SIVECO Business Analyzer September.
Căutarea şi regăsirea informaţiei.
SOFTWARE Tipuri de software.
Dispozitive de stocare
Dezvoltarea dimensiunii europene a școlii prin creșterea competențelor cadrelor didactice ERASMUS+, KA 1.
Arhitectura serviciilor web
Structura pipeline a unui procesor MIPS
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
Tipuri de Structuri arhitecturale. Documentarea arhitectrurii
Gestionarea datelor stiintifice
Retele de calculatoare
METODA BACKTRACKING Examenul de bacalaureat 2012
ASIRA COMMUNICATION.
Software product management
Introducere in HCI.
CONVERSII INTRE SISTEME DE NUMERATIE
WebSite Social Tema 2 WebSite Social.
MICROSOFT EXCEL.
Crearea si gazduirea serviciilor
C# şi platforma .NET.
Bucuresti ZF Mobilio Principalele metode de dezvoltare a afacerilor folosind aplicatiile mobile Sebastian Vaduva -
Conferința Națională de Risk Management
Web Form BuilDer Coffee Cup.
Principalele capitole ale cursului
MICROSOFT EXCEL Notiuni introductive
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
INTERNET SERVICII INTERNET.
Burse de formare Grundtvig- Educaţia Adulţilor
Proiectarea Arhitecturala a Sistemelor Software
Managementul Proiectelor Software
Îmbunătăţirea serviciilor publice prin intermediul Chartelor de Servicii: Elaborarea şi implementarea Planurilor de Acţiune pentru Îmbunătăţirea Serviciilor.
A great way to create a channel of communication
Cursul 9. SEO (Promovarea site-urilor web)
Managementul Proiectelor Informatice
Functia de documentare
Administrarea reţelelor de calculatoare
Dezvoltarea aplicaţiilor WEB
Folosirea de către companii a Twitter, Facebook şi LinkedIn
Sisteme de recomandare
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Software open source in industria software
Student:Dvornic Mihaela Grupa:342 C5
CMMI- Arii de proces: Inginerie si managementului proiectelor
Programul de formare „Asigurarea internă a calităţii”
Sistemul de control intern managerial
Review blog culianu.wordpress.com
Configurarea metodelor de management al calităţii în sectorul public
Componenta Managementul Investitiilor
Harti de imagini, Cadre, Stiluri
Despre lamaie.net De ce sunt lamaile acre? Realizatori: Cristina Cazan
Tabele WEB.
Presentation transcript:

Proiectarea si Arhitectura Sistemelor Software Complexe Conf.dr.ing. Ioana Şora www.cs.utt.ro/~ioana ioana.sora@cs.upt.ro

Retele de Calculatoare Obiectul cursului Parte din directia de “Software Engineering” Fundamente de Inginerie Software Proiectarea Detaliata a Sistemelor Tehnici de programare Programare OO Structuri de Date Algoritmi Proiectarea si Arhitectura Sistemelor Software Complexe Sisteme de operare Retele de Calculatoare

Motivatie Motivatie la motivatie: Editorii cartilor de specialitate din domeniu manifesta o tendinta in a incerca sa ne trezeasca interesul pentru subiect alegand pentru ilustrarea copertilor imagini metaforice cu tot felul de cladiri si monumente istorice

Motivatie Articol: Richard E. Fairley and Mary Jane Willshire: “Why the Vasa Sank: 10 Problems and Some Antidotes for Software Projects”, in IEEE Software, March/April 2003 http://www.cse.ogi.edu/~dfairley/The_Vasa.pdf http://cpd.ogi.edu/seminars04/VasaPresentation.pdf

Concluzie articol – cele 10 probleme: Problema Antidot Termene de realizare nerealiste Estimari obiective; Resurse mai multe/mai bune; Prioritizarea cerintelor; Release-uri. Cerinte in continua schimbare Dezvoltare iterativa; Change control/baseline management Absenta specificatiilor tehnice Scrierea specificatiilor initiale; Actualizarea specificatiilor in functie de evenimente; Managementul specificatiilor; Arhitect care se ocupa de acest lucru. Absenta documentatiei proiectului Elaborarea unui plan initial; Actualizarea planului in functie de evenimente; Managementul planului; Project manager care se ocupa de acest lucru. Inovatii excesive Baseline control; Impact analysis; Continuous risk management; Arhitect care se ocupa de aceste lucruri. Inovatii inutile Cerinte contradictorii, haotice Initial requirements baseline; Baseline management; Risk management; Arhitect care se ocupa de aceste lucruri. Lipsa unor metode stiintifice Prototyping; Incremental development; Technical performance measurement Ignorarea unor probleme evidente Back-of-the-envelope calculations; Invatarea din erori Lipsa de etica profesionala Respectarea individuala a unui cod de etica

ABC: Architecture Business Cycle Cazul ideal (dar depasit): proiectantul primeste cerintele (requirements) pe care trebuie sa le rezolve sistemul si produce proiectul Cerintele care trebuie luate in considerare in procesul de proiectare arhitecturala a unui sistem nu se rezuma doar la cerintele functionale (care descriu “ce face sistemul”) Cerinte (calitati) non-functionale (qualities): performance, reliability, availability, platform compatibility, memory utilization, network usage, security, modifiability, usability, interoperability Arhitectura unui sistem este rezultatul unui set de deciziii tehnice, economice si manageriale Stakeholders: toate persoanele sau organizatiile care au o influenta asupra arhitecturii sistemului si care impun cerinte functionale si non-functionale: Managerii organizatiei care realizeaza proiectul, Departamentul de marketing, Utilizatorii finali, Clientii, Departamentrul de intretinere (maintenance), … Exemplu: Program de evidenta a salariatilor de la firma XYZ SRL

Stakeholders [Bass]-Fig.1.2

Influente asupra arhitecturii Stakeholders Fiecare stakeholder are vederi si interese diferite, uneori contradictorii, asupra produsului Organizatia care realizeaza proiectul Obiectivele in business pe termen scurt si pe termen lung, resursele disponibile (personal, timp, buget) Pregatirea si experienta proiectantilor Repeta retetele de succes, evita repetarea greselilor anterioare Mediul tehnic/tehnologic Practici industriale standard Implicatii colaterale ale acestor influente: Majoritatea cerintelor sunt ascunse la inceput, nu sunt exprimate explicit si uneori nu sunt constientizate => trebuie identificate cat mai devreme Architecture reviews & iterative prototyping

Architecture Business Cycle [Bass]-Fig.1.3

Rolul proiectului arhitecturii software Gasirea solutiei de compromis intre cerintele (contradictorii) ale diferitelor categorii de stakeholders; stabilirea calitatilor dorite (qualities) ale sistemului Proiectul arhitecturii sistemului reprezinta: Abstractizare a sistemului, care omite detalii de implementare, algoritmi si reprezentare a datelor si pune in evidenta comportarea sistemului sub forma interactiunii unor componente de tip black-box. Punct de start (project blueprint) pentru realizarea sistemului Importanta proiectului arhitecturii software: Primul pas din realizarea sistemului, efectuat in directia asigurarii calitatilor dorite ale acestuia Primul artifact care permite analiza viitorului sistem in vederea stabilirii calitatilor acestuia

Continutul cursului Conceptul de arhitectura software Ce este arhitectura software ? Stiluri si tipare arhitecturale (Architectural pattern) fundamentale Structuri arhitecturale Crearea unei arhitecturi software Calitati si Tactici arhitecturale Documentarea Analiza unei arhitecturi Reconstructia Metode de analiza Reutilizarea la nivel arhitectural Linii de produse software Componente Standarde industriale de infrastructuri de calcul – Exemplu: Microsoft .NET Arhitectura Interoperabilitatea intre limbaje

Bibliografie curs L. Bass, P. Clements, R. Kazman: “Software Architecture in Practice”, 2nd Edition, Addison Wesley, 2003 [Bass] P. Clements, F. Bachmann, L.Bass, D. Garlan, J. Ivers, R. Little, R. Nord, J.Stafford: “Documenting Software Architectures: Views and Beyond”, Addison Wesley, 2002. [Clements] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal: “Pattern Oriented Software Architecture, Vol 1: A System of Patterns”. J.Wiley&Sons, 1996. [POSA1] J. Richter: “The .NET Framework”, Microsoft Press, 2002. Si in traducere in lb romana la Ed Teora [NET] Slide-uri: www.cs.utt.ro/~ioana

Laborator Si totusi scriem si cod ;-) 3-4 teme: Alcatuirea grupelor: Teme individuale Teme de grup cu contributii individuale prestabilite 50% din nota finala Alcatuirea grupelor: Inscrieri pentru cele 5 intervale prevazute in orar maxim 18 studenti/grupa Software utilizat: Poate fi descarcat prin programul Microsoft Academic: Microsoft Visual Studio: limbajul de implementare la alegere dintre C#, C++, J# .NET Framework Temele realizate trebuie sa poata fi compilate si rulate pe sistemele din laborator