Metodologija razvoja softvera Radni okviri Frameworks Prof dr

  • Slides: 28
Download presentation
Metodologija razvoja softvera Radni okviri - Frameworks Prof. dr Branko Perišić bperisic@singidunum. ac. rs

Metodologija razvoja softvera Radni okviri - Frameworks Prof. dr Branko Perišić bperisic@singidunum. ac. rs

Pristupi razvoju softvera – Radni okviri Varijable Programska paradigma Strukture Klase, objekti Struktura problema

Pristupi razvoju softvera – Radni okviri Varijable Programska paradigma Strukture Klase, objekti Struktura problema Tipovi podataka Dizajnerski šabloni Komponente Arhitektura softvera Radni okviri (Frameworks)

Pristup anaizi, specifikaciji i upotrebi Složeni softverski sistemi se analiziraju i specificiraju ODOZGO PREMA

Pristup anaizi, specifikaciji i upotrebi Složeni softverski sistemi se analiziraju i specificiraju ODOZGO PREMA DOLE (Top Down). n Implementacija je najčešće ODOZDO PREMA GORE (Bottom Up). n Prototipski razvoj omogućava primenu agilnih metodoloških pristupa uz oslonac na izvršnu specifikaciju koja nastaje u RANOJ FAZI razvoja softvera. n Evolutivni prototip omogućava uspostavljanje paralelizma između procesa razvoja i eksploatacije. n 3

Frejmvork (Framework) – radni okvir Frejmvork je nepotpuni ili delimično kompletiran softverski sistem/podsistem koji

Frejmvork (Framework) – radni okvir Frejmvork je nepotpuni ili delimično kompletiran softverski sistem/podsistem koji može poslužiti kao osnova za INSTANCIRANJE konkretnih primeraka softverskih proizvoda. n Definiše: n proširivu arhitekturu familije softverskih proizvoda; n mesta gde je potrebno izvršiti odgovarajuća prilagođenja (adaptaciju) u cilju podrške specifičnim funkcijama; i n n Obezbeđuje osnovne elemente za njihovu izgradnju. 4

Frejmvork (Framework) – radni okvir n Arhitektonski radni okviri – fokusiraju se na principe

Frejmvork (Framework) – radni okvir n Arhitektonski radni okviri – fokusiraju se na principe i metode izgradnje složenih softverskih proizvoda uz oslonac na formalne specifikacije; n Aplikativni radni okviri – fokusiraju se na gradivne elemente i operativni postupak izgradnje složenih softverskih proizvoda uz oslonac na biblioteke i ponovno iskoristive komponente; 5

Arhitektonski radni okvir - model Branko Perišić 6

Arhitektonski radni okvir - model Branko Perišić 6

Arhitektonski radni okvir - primeri v v v v v Kruchten's "4+1 Model”; UML;

Arhitektonski radni okvir - primeri v v v v v Kruchten's "4+1 Model”; UML; Rozanski & Woods; ISO Reference Model (OSI); ISO GERAM; Zachman Framework; Do. D Architecture Framework (DODAF); Mo. D Architecture Framework (MODAF); TOGAF - The Open Group's Architecture Framework; Branko Perišić 7

Arhitektonski radni okvir - primeri v Kruchten's "4+1 Model”; It provides four essential views:

Arhitektonski radni okvir - primeri v Kruchten's "4+1 Model”; It provides four essential views: 1. The logical view or conceptual view − It describes the object model of the design. 2. The process view − It describes the activities of the system, captures the concurrency and synchronization aspects of the design. 3. The physical view − It describes the mapping of software onto hardware and reflects its distributed aspect. 4. The development view − It describes the static organization or structure of the software in its development of environment. Branko Perišić 8

Arhitektonski radni okvir - primeri v Kruchten's "4+1 Model”; It provides four essential views:

Arhitektonski radni okvir - primeri v Kruchten's "4+1 Model”; It provides four essential views: 1. The logical view or conceptual view − It describes the object model of the design. 2. The process view − It describes the activities of the system, captures the concurrency and synchronization aspects of the design. 3. The physical view − It describes the mapping of software onto hardware and reflects its distributed aspect. 4. The development view − It describes the static organization or structure of the software in its development of environment. Branko Perišić 9

Arhitektonski radni okvir - primeri v UML radni okvir; v Rozanski & Woods, .

Arhitektonski radni okvir - primeri v UML radni okvir; v Rozanski & Woods, . . . v ISO Reference Model (ISORM) - Open Distributed Computing v ISO GERAM v Zachman Framework v Do. D Architecture Framework, v Mo. DAF, … v TOGAF (The Open Group's Architecture Framewor Branko Perišić 10

Arhitektonski radni okvir - primeri v Rozanski & Woods, v ISO Reference Model (ISORM)

Arhitektonski radni okvir - primeri v Rozanski & Woods, v ISO Reference Model (ISORM) - Open Distributed Computing v ISO GERAM v Zachman Framework v Do. D Architecture Framework, v Mo. DAF, … v TOGAF (The Open Group's Architecture Framewor 11

Arhitektonski radni okvir - primeri v ISO Reference Model (OSI) – v ISO GERAM

Arhitektonski radni okvir - primeri v ISO Reference Model (OSI) – v ISO GERAM v Zachman Framework v Do. D Architecture Framework, v Mo. DAF, … v TOGAF (The Open Group's Architecture Framewor 12

Arhitektonski radni okvir - primeri v ISO GERAM - Generalized Enterprise Reference Architecture and

Arhitektonski radni okvir - primeri v ISO GERAM - Generalized Enterprise Reference Architecture and Methoodology v Zachman Framework v Do. D Architecture Framework, v Mo. DAF, … v TOGAF (The Open Group's Architecture Framewor 13

Arhitektonski radni okvir - primeri v Zachman Framework v Do. D Architecture Framework, v

Arhitektonski radni okvir - primeri v Zachman Framework v Do. D Architecture Framework, v Mo. DAF, … v TOGAF (The Open Group's Architecture Framewor 14

Arhitektonski radni okvir - primeri v Do. D Architecture Framework (Do. DAF) v Mo.

Arhitektonski radni okvir - primeri v Do. D Architecture Framework (Do. DAF) v Mo. DAF, … v TOGAF (The Open Group's Architecture Framewor 15

Arhitektonski radni okvir - primeri v. MODAF The British Ministry of Defence Architecture Framework

Arhitektonski radni okvir - primeri v. MODAF The British Ministry of Defence Architecture Framework v TOGAF (The Open Group's Architecture Framewor 16

Arhitektonski radni okvir - primeri v. TOGAF - The Open Group's Architecture Framework 17

Arhitektonski radni okvir - primeri v. TOGAF - The Open Group's Architecture Framework 17

OO Aplikativni radni okvir - model An application framework is a software library that

OO Aplikativni radni okvir - model An application framework is a software library that provides a fundamental structure to support the development of applications for a specific environment. An application framework acts as the skeletal support to build an application. 18

OO Aplikativni radni okvir - svojstva q. Modularnost (Modularity) Frameworks enhance modularity by encapsulating

OO Aplikativni radni okvir - svojstva q. Modularnost (Modularity) Frameworks enhance modularity by encapsulating volatile implementation details q Ponovna upotrebljivost (Reusability) behind stable interfaces. Framework modularity helps improve q Proširivost (Extensibility) software quality by localizing the impact of design and implementation changes. q Inverzija kontrole (Inversion of This localization reduces the effort required control) to understand maintain existing software. 19

OO Aplikativni radni okvir - svojstva q Ponovna upotrebljivost (Reusability) The stable interfaces enhance

OO Aplikativni radni okvir - svojstva q Ponovna upotrebljivost (Reusability) The stable interfaces enhance reusability by defining generic components that can be reapplied to create new q Proširivost (Extensibility) applications. Framework reusability leverages the domain knowledge and prior effort in order to avoid re-creating and req Inverzija kontrole (Inversion of validating common solutions to recurring application control) and software design challenges. requirements Reuse of framework components can yield substantial improvements in programmer productivity, as well as enhance the quality, performance, reliability and interoperability of software 20

OO Aplikativni radni okvir - svojstva q Proširivost (Extensibility) A framework enhances extensibility by

OO Aplikativni radni okvir - svojstva q Proširivost (Extensibility) A framework enhances extensibility by providing explicit hook methods that allow applications to q Inverzija kontrole (Inversion of extend its stable interfaces. control) Hook methods systematically decouple the stable interfaces and behaviors of an application domain from the variations required by instantiations of an application in a particular context. Framework extensibility is essential to ensure timely customization of new application services and features. 21

OO Aplikativni radni okvir - svojstva q Inverzija kontrole (Inversion of control) The run-time

OO Aplikativni radni okvir - svojstva q Inverzija kontrole (Inversion of control) The run-time architecture of a framework is characterized by an ``inversion of control (Io. C). '' This architecture enables canonical application processing steps to be customized by event handler objects that are invoked via the framework's reactive dispatching mechanism. When events occur, the framework's dispatcher reacts by invoking hook methods on pre-registered handler objects, which perform application-specific processing on the events. Io. C allows the framework (rather than each application) to determine which set of application-specific methods to invoke in response to external events. 22

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Aplikativni radni okvir

Radni okviri – Frameworks ?

Radni okviri – Frameworks ?