SlideShare a Scribd company logo
Arab Open University
2nd
Semester, 2006-2007
M301
Unit 5.2
From Model to
Implementation
reem.attas@arabou.org.sa
Reem AlAttas © 2
Topic Road Map
 Components and Component Based
Development
Architectures, frame works and product
lines
Patterns
Reem AlAttas © 3
Component
A reusable or replaceable piece of
software.
The components would have to be
precisely specified in terms of their
interfaces and the functions they carried
out.
Reem AlAttas © 4
Kinds of Interfaces
Provided Interfaces: provided by a
component for use by other components
 shown as sockets.
Required Interfaces: required from other
components for use by the component 
shown as plugs.
Reem AlAttas © 5
Components and their Interconnection
Reem AlAttas © 6
Object-oriented Components in Java
Components are represented as classes.
A component is able to provide a single
provided interface, but required interfaces
do not need to be made explicit.
Reem AlAttas © 7
Forms of Inheritance
1. Specialization.
2. Specification.
3. Construction.
4. Extension.
5. Limitation.
6. Combination.
Reem AlAttas © 8
Java Classes as Components
Classes give encapsulation and
information hiding, with the provided
interface being very explicit.
Reem AlAttas © 9
To be Able to Reuse Java Classes:
1. Java classes need to be self-describing.
2. The development environment should include
library facilities for storing reusable classes,
with good search facilities to find classes of
potential use.
3. The development environment should contain
easy ways of incorporating an existing
component into an emerging design, making
the connections as required.
Reem AlAttas © 10
… To be Able to Reuse Java Classes:
4. Persistence, the ability for Java objects and
their states to be preserved over long periods
of time, perhaps as parts of a database.
5. Distribution, the ability of Java objects to
communicate with other objects when
distributed over many processors connected
together by communication networks.
Reem AlAttas © 11
JavaBeans
Are Java classes that have been provided
with the previous five capabilities in
particular well-defined ways.
Reem AlAttas © 12
Enterprise JavaBeans have more
facilities:
1. There are separate interface ‘views’ for users of the
EJB components.
2. There are two types of persistence:
1. Session persistence: occurs when software is executed for a
short time, and the EJB persists just for the duration of this
session.
2. Entity persistence: occurs when the EJB persists over many
sessions, even permanently, closely associated with the
database — hence the name ‘entity’, since it is independent of
the execution of the software.
3. There are containers that control the creation and
execution of EJBs.
Reem AlAttas © 13
How are components supposed to be
used?
 A repository of useful components was built.
Reem AlAttas © 14
Difficulties with Component Reuse
 Human factor:
 People may mistrust software developed by someone
else.
 People enjoy developing their own software.
 Organizational factor:
 The projects are judged by the success of the project
itself not by the ability to be reused.
 Many organizations think that reuse looks like laziness.
Reem AlAttas © 15
Topic Road Map
Components and Component Based
Development
 Architectures, frame works and product
lines
Patterns
Reem AlAttas © 16
Software Architecture
Software architecture is a high-level
abstract description of the structure of a
software system — its major parts and
how they are interrelated.
Reem AlAttas © 17
Architectural Styles
Software is viewed as a system composed
of a number of subsystems, perhaps of
different types, that are connected
together.
The way the subsystems interact and are
connected together distinguishes the
styles.
Reem AlAttas © 18
… Architectural Styles
1. Data-flow:
 Support reuse and modifiability.
 Focuses on the flow of data through the system.
 common in older batch computer systems & UNIX.
2. Data-centered:
 Support the ability to integrate systems sharing data.
 Focuses on a centralized store of persistent data.
 If the store is passive it is called a repository or database.
 If it is active and informs users of changes it is termed a
blackboard.
Reem AlAttas © 19
… Architectural Styles
3. Virtual-machine:
 Support portability.
 Focuses on abstractions that give a complete service to their
users.
 Ex. Java Virtual Machine, which enables executable Java
code to be transported between machines.
3. Call–return:
 Support modifiability and scalability.
 Focuses on the sequence of computation.
 OO approaches are simply the current manifestation of this
style.
Reem AlAttas © 20
… Architectural Styles
5. Independent-components:
 Support modifiability.
 Decouples subsystems so that they
communicate symbolically and indirectly.
 Ex. the client–server approach to distributed
systems.
Reem AlAttas © 21
The Input Output Application User
Interaction Architecture
 In object-oriented approaches this became known as
model–view–controller (MVC) architecture, which
equates model with application, view with output, and
controller with input.
Reem AlAttas © 22
Frameworks
 Composed of an architecture, together with a
component repository with components suitable
for use within the framework, plus whatever
documentation would facilitate the use of the
framework.
 When a company wants to produce a range of
products based on a common framework it is a
called product line.
Reem AlAttas © 23
The Product-line Process
1. Product-line initiation.
2. Domain analysis.
3. Architecture specification.
4. Component collection.
5. Specific-requirements capture.
6. Architecture specialization.
7. Component selection and specialization.
8. Integration and release.
Reem AlAttas © 24
Topic Road Map
Components and Component Based
Development
Architectures, frame works and product
lines
 Patterns
Reem AlAttas © 25
Patterns
Records of good solutions from
experienced software engineers.
Reem AlAttas © 26
The Model View Controller
Architecture
The MVC architecture, or framework,
describes a high-level solution to the
general problem of human–computer
interaction, relating what the user sees on
a screen and does with a keyboard,
mouse or other interaction device, to the
functions of an application and the data
that it stores.
Reem AlAttas © 27
Patterns Existing at Several Levels
Architectural patterns are the highest level
pattern.
Design patterns are the intermediate level
pattern.
Idioms are at the lowest level and include
program code level concepts.
TMA5 – Q2
Thank You!

More Related Content

What's hot (20)

Jsp with mvc
Jsp with mvcJsp with mvc
Jsp with mvc
vamsitricks
 
Struts presentation
Struts presentationStruts presentation
Struts presentation
Nicolaescu Petru
 
Struts introduction
Struts introductionStruts introduction
Struts introduction
Muthukumaran Subramanian
 
Introduction to Struts 1.3
Introduction to Struts 1.3Introduction to Struts 1.3
Introduction to Struts 1.3
Ilio Catallo
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with Docker
Eran Stiller
 
Mobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal ApplicationMobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal Application
Mike Taylor
 
An Inference Sharing Architecture for a More Efficient Context Reasoning
An Inference Sharing Architecture for a More Efficient Context ReasoningAn Inference Sharing Architecture for a More Efficient Context Reasoning
An Inference Sharing Architecture for a More Efficient Context Reasoning
Aitor Almeida
 
Cloud native-microservices
Cloud native-microservicesCloud native-microservices
Cloud native-microservices
◄ vaquar khan ► ★✔
 
J2EE Architecture Explained
J2EE  Architecture ExplainedJ2EE  Architecture Explained
J2EE Architecture Explained
Adarsh Kr Sinha
 
Lecture 6 se
Lecture 6 seLecture 6 se
Lecture 6 se
Tribhuvan University
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
Middleware Training
 
Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...
Stefano Costanzo
 
Metaaso J Webframework
Metaaso J WebframeworkMetaaso J Webframework
Metaaso J Webframework
jwebframework
 
Struts ppt 1
Struts ppt 1Struts ppt 1
Struts ppt 1
pavanteja86
 
Ch6
Ch6Ch6
Ch6
Dom Mike
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
VISHAL DONGA
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
Julia Vi
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
Lars-Erik Kindblad
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
Ian Sommerville
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
guestd0cc01
 
Introduction to Struts 1.3
Introduction to Struts 1.3Introduction to Struts 1.3
Introduction to Struts 1.3
Ilio Catallo
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with Docker
Eran Stiller
 
Mobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal ApplicationMobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal Application
Mike Taylor
 
An Inference Sharing Architecture for a More Efficient Context Reasoning
An Inference Sharing Architecture for a More Efficient Context ReasoningAn Inference Sharing Architecture for a More Efficient Context Reasoning
An Inference Sharing Architecture for a More Efficient Context Reasoning
Aitor Almeida
 
J2EE Architecture Explained
J2EE  Architecture ExplainedJ2EE  Architecture Explained
J2EE Architecture Explained
Adarsh Kr Sinha
 
Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...Exploiting Web Technologies to connect business process management and engine...
Exploiting Web Technologies to connect business process management and engine...
Stefano Costanzo
 
Metaaso J Webframework
Metaaso J WebframeworkMetaaso J Webframework
Metaaso J Webframework
jwebframework
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
VISHAL DONGA
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
Julia Vi
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
Ian Sommerville
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
guestd0cc01
 

Similar to From Model to Implementation II (20)

Software Architecture and patterns by Adelphi unicersity
Software Architecture and patterns by Adelphi unicersitySoftware Architecture and patterns by Adelphi unicersity
Software Architecture and patterns by Adelphi unicersity
yjmr19791
 
corporate.trainings.ppt on energy sample model
corporate.trainings.ppt on energy sample modelcorporate.trainings.ppt on energy sample model
corporate.trainings.ppt on energy sample model
prabhagaranleo
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.
suranisaunak
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
prakashk453625
 
Struts Interceptors
Struts InterceptorsStruts Interceptors
Struts Interceptors
Onkar Deshpande
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies
prakashk453625
 
Effective Use of React, Angular & Vue.js
Effective Use of React, Angular & Vue.jsEffective Use of React, Angular & Vue.js
Effective Use of React, Angular & Vue.js
Tragle Software
 
React Architecture
React ArchitectureReact Architecture
React Architecture
RajasreePothula3
 
Approaches to Software Development
Approaches to Software DevelopmentApproaches to Software Development
Approaches to Software Development
Reem Alattas
 
MVC
MVCMVC
MVC
Ravi Bansal
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
mrsurwar
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
Clarence Ho
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
prakashk453625
 
Building Enterprise Application with J2EE
Building Enterprise Application with J2EEBuilding Enterprise Application with J2EE
Building Enterprise Application with J2EE
Calance
 
spring framework ppt by Rohit malav
spring framework ppt by Rohit malavspring framework ppt by Rohit malav
spring framework ppt by Rohit malav
Rohit malav
 
Java Spring Framework
Java Spring FrameworkJava Spring Framework
Java Spring Framework
Mehul Jariwala
 
Flower shop billing management system project.pdf
Flower shop billing management system project.pdfFlower shop billing management system project.pdf
Flower shop billing management system project.pdf
Kamal Acharya
 
Enrterprise Java-Unit 1 (All chapters) for TYIT PPTx
Enrterprise Java-Unit 1 (All chapters) for TYIT PPTxEnrterprise Java-Unit 1 (All chapters) for TYIT PPTx
Enrterprise Java-Unit 1 (All chapters) for TYIT PPTx
dcruzsophia24
 
Software Architecture and patterns by Adelphi unicersity
Software Architecture and patterns by Adelphi unicersitySoftware Architecture and patterns by Adelphi unicersity
Software Architecture and patterns by Adelphi unicersity
yjmr19791
 
corporate.trainings.ppt on energy sample model
corporate.trainings.ppt on energy sample modelcorporate.trainings.ppt on energy sample model
corporate.trainings.ppt on energy sample model
prabhagaranleo
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.
suranisaunak
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
prakashk453625
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies
prakashk453625
 
Effective Use of React, Angular & Vue.js
Effective Use of React, Angular & Vue.jsEffective Use of React, Angular & Vue.js
Effective Use of React, Angular & Vue.js
Tragle Software
 
Approaches to Software Development
Approaches to Software DevelopmentApproaches to Software Development
Approaches to Software Development
Reem Alattas
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
mrsurwar
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
Clarence Ho
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
prakashk453625
 
Building Enterprise Application with J2EE
Building Enterprise Application with J2EEBuilding Enterprise Application with J2EE
Building Enterprise Application with J2EE
Calance
 
spring framework ppt by Rohit malav
spring framework ppt by Rohit malavspring framework ppt by Rohit malav
spring framework ppt by Rohit malav
Rohit malav
 
Flower shop billing management system project.pdf
Flower shop billing management system project.pdfFlower shop billing management system project.pdf
Flower shop billing management system project.pdf
Kamal Acharya
 
Enrterprise Java-Unit 1 (All chapters) for TYIT PPTx
Enrterprise Java-Unit 1 (All chapters) for TYIT PPTxEnrterprise Java-Unit 1 (All chapters) for TYIT PPTx
Enrterprise Java-Unit 1 (All chapters) for TYIT PPTx
dcruzsophia24
 

More from Reem Alattas (20)

Rumble Lights Pitch Deck
Rumble Lights Pitch DeckRumble Lights Pitch Deck
Rumble Lights Pitch Deck
Reem Alattas
 
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular RobotsNASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
Reem Alattas
 
She looks just like me 2017
She looks just like me 2017She looks just like me 2017
She looks just like me 2017
Reem Alattas
 
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space ExplorationNasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Reem Alattas
 
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space ExplorationNasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Reem Alattas
 
She Looks Just Like Me 2017
She Looks Just Like Me 2017She Looks Just Like Me 2017
She Looks Just Like Me 2017
Reem Alattas
 
Tran helmet pitch
Tran helmet pitchTran helmet pitch
Tran helmet pitch
Reem Alattas
 
Evolutionary Algorithms
Evolutionary AlgorithmsEvolutionary Algorithms
Evolutionary Algorithms
Reem Alattas
 
Evolutionary Robotics
Evolutionary RoboticsEvolutionary Robotics
Evolutionary Robotics
Reem Alattas
 
Create a Need
Create a NeedCreate a Need
Create a Need
Reem Alattas
 
Enhancing input on and above the interactive surface
Enhancing input on and above the interactive surfaceEnhancing input on and above the interactive surface
Enhancing input on and above the interactive surface
Reem Alattas
 
Skinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input SurfaceSkinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input Surface
Reem Alattas
 
XML - EXtensible Markup Language
XML - EXtensible Markup LanguageXML - EXtensible Markup Language
XML - EXtensible Markup Language
Reem Alattas
 
Dynamic HTML Event Model
Dynamic HTML Event ModelDynamic HTML Event Model
Dynamic HTML Event Model
Reem Alattas
 
PHP Scripting
PHP ScriptingPHP Scripting
PHP Scripting
Reem Alattas
 
DHTML - Dynamic HTML
DHTML - Dynamic HTMLDHTML - Dynamic HTML
DHTML - Dynamic HTML
Reem Alattas
 
JavaScript Objects
JavaScript ObjectsJavaScript Objects
JavaScript Objects
Reem Alattas
 
Linear Search & Binary Search
Linear Search & Binary SearchLinear Search & Binary Search
Linear Search & Binary Search
Reem Alattas
 
JavaScript Arrays
JavaScript Arrays JavaScript Arrays
JavaScript Arrays
Reem Alattas
 
JavaScript Functions
JavaScript Functions JavaScript Functions
JavaScript Functions
Reem Alattas
 
Rumble Lights Pitch Deck
Rumble Lights Pitch DeckRumble Lights Pitch Deck
Rumble Lights Pitch Deck
Reem Alattas
 
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular RobotsNASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
NASA Datanauts Water Cooler Chat: Autonomous Design of Modular Robots
Reem Alattas
 
She looks just like me 2017
She looks just like me 2017She looks just like me 2017
She looks just like me 2017
Reem Alattas
 
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space ExplorationNasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Nasa Datanauts Water Cooler Chat: Robotics for Space Exploration
Reem Alattas
 
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space ExplorationNasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Nasa Datanauts Water Cooler Chat: Evolutionary Robots for Space Exploration
Reem Alattas
 
She Looks Just Like Me 2017
She Looks Just Like Me 2017She Looks Just Like Me 2017
She Looks Just Like Me 2017
Reem Alattas
 
Evolutionary Algorithms
Evolutionary AlgorithmsEvolutionary Algorithms
Evolutionary Algorithms
Reem Alattas
 
Evolutionary Robotics
Evolutionary RoboticsEvolutionary Robotics
Evolutionary Robotics
Reem Alattas
 
Enhancing input on and above the interactive surface
Enhancing input on and above the interactive surfaceEnhancing input on and above the interactive surface
Enhancing input on and above the interactive surface
Reem Alattas
 
Skinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input SurfaceSkinput: Appropriating the Body as an Input Surface
Skinput: Appropriating the Body as an Input Surface
Reem Alattas
 
XML - EXtensible Markup Language
XML - EXtensible Markup LanguageXML - EXtensible Markup Language
XML - EXtensible Markup Language
Reem Alattas
 
Dynamic HTML Event Model
Dynamic HTML Event ModelDynamic HTML Event Model
Dynamic HTML Event Model
Reem Alattas
 
DHTML - Dynamic HTML
DHTML - Dynamic HTMLDHTML - Dynamic HTML
DHTML - Dynamic HTML
Reem Alattas
 
JavaScript Objects
JavaScript ObjectsJavaScript Objects
JavaScript Objects
Reem Alattas
 
Linear Search & Binary Search
Linear Search & Binary SearchLinear Search & Binary Search
Linear Search & Binary Search
Reem Alattas
 
JavaScript Arrays
JavaScript Arrays JavaScript Arrays
JavaScript Arrays
Reem Alattas
 
JavaScript Functions
JavaScript Functions JavaScript Functions
JavaScript Functions
Reem Alattas
 

Recently uploaded (20)

LDMMIA Reiki Yoga S5 Daily Living Workshop
LDMMIA Reiki Yoga S5 Daily Living WorkshopLDMMIA Reiki Yoga S5 Daily Living Workshop
LDMMIA Reiki Yoga S5 Daily Living Workshop
LDM Mia eStudios
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
Dr. Nasir Mustafa
 
Cultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptxCultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptx
UmeshTimilsina1
 
Drugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdfDrugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdf
crewot855
 
Cultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptxCultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptx
UmeshTimilsina1
 
Pope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptxPope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptx
Martin M Flynn
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
Chemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptxChemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptx
Mayuri Chavan
 
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptxU3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
Mayuri Chavan
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
Final Evaluation.docx...........................
Final Evaluation.docx...........................Final Evaluation.docx...........................
Final Evaluation.docx...........................
l1bbyburrell
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
Nguyen Thanh Tu Collection
 
Ancient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian HistoryAncient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian History
Virag Sontakke
 
Myopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduateMyopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduate
Mohamed Rizk Khodair
 
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Association for Project Management
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
LDMMIA Reiki Yoga S5 Daily Living Workshop
LDMMIA Reiki Yoga S5 Daily Living WorkshopLDMMIA Reiki Yoga S5 Daily Living Workshop
LDMMIA Reiki Yoga S5 Daily Living Workshop
LDM Mia eStudios
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
Dr. Nasir Mustafa
 
Cultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptxCultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptx
UmeshTimilsina1
 
Drugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdfDrugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdf
crewot855
 
Cultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptxCultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptx
UmeshTimilsina1
 
Pope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptxPope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptx
Martin M Flynn
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
Chemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptxChemotherapy of Malignancy -Anticancer.pptx
Chemotherapy of Malignancy -Anticancer.pptx
Mayuri Chavan
 
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptxU3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
Mayuri Chavan
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
Final Evaluation.docx...........................
Final Evaluation.docx...........................Final Evaluation.docx...........................
Final Evaluation.docx...........................
l1bbyburrell
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
Nguyen Thanh Tu Collection
 
Ancient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian HistoryAncient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian History
Virag Sontakke
 
Myopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduateMyopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduate
Mohamed Rizk Khodair
 
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Association for Project Management
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 

From Model to Implementation II

  • 1. Arab Open University 2nd Semester, 2006-2007 M301 Unit 5.2 From Model to Implementation reem.attas@arabou.org.sa
  • 2. Reem AlAttas © 2 Topic Road Map  Components and Component Based Development Architectures, frame works and product lines Patterns
  • 3. Reem AlAttas © 3 Component A reusable or replaceable piece of software. The components would have to be precisely specified in terms of their interfaces and the functions they carried out.
  • 4. Reem AlAttas © 4 Kinds of Interfaces Provided Interfaces: provided by a component for use by other components  shown as sockets. Required Interfaces: required from other components for use by the component  shown as plugs.
  • 5. Reem AlAttas © 5 Components and their Interconnection
  • 6. Reem AlAttas © 6 Object-oriented Components in Java Components are represented as classes. A component is able to provide a single provided interface, but required interfaces do not need to be made explicit.
  • 7. Reem AlAttas © 7 Forms of Inheritance 1. Specialization. 2. Specification. 3. Construction. 4. Extension. 5. Limitation. 6. Combination.
  • 8. Reem AlAttas © 8 Java Classes as Components Classes give encapsulation and information hiding, with the provided interface being very explicit.
  • 9. Reem AlAttas © 9 To be Able to Reuse Java Classes: 1. Java classes need to be self-describing. 2. The development environment should include library facilities for storing reusable classes, with good search facilities to find classes of potential use. 3. The development environment should contain easy ways of incorporating an existing component into an emerging design, making the connections as required.
  • 10. Reem AlAttas © 10 … To be Able to Reuse Java Classes: 4. Persistence, the ability for Java objects and their states to be preserved over long periods of time, perhaps as parts of a database. 5. Distribution, the ability of Java objects to communicate with other objects when distributed over many processors connected together by communication networks.
  • 11. Reem AlAttas © 11 JavaBeans Are Java classes that have been provided with the previous five capabilities in particular well-defined ways.
  • 12. Reem AlAttas © 12 Enterprise JavaBeans have more facilities: 1. There are separate interface ‘views’ for users of the EJB components. 2. There are two types of persistence: 1. Session persistence: occurs when software is executed for a short time, and the EJB persists just for the duration of this session. 2. Entity persistence: occurs when the EJB persists over many sessions, even permanently, closely associated with the database — hence the name ‘entity’, since it is independent of the execution of the software. 3. There are containers that control the creation and execution of EJBs.
  • 13. Reem AlAttas © 13 How are components supposed to be used?  A repository of useful components was built.
  • 14. Reem AlAttas © 14 Difficulties with Component Reuse  Human factor:  People may mistrust software developed by someone else.  People enjoy developing their own software.  Organizational factor:  The projects are judged by the success of the project itself not by the ability to be reused.  Many organizations think that reuse looks like laziness.
  • 15. Reem AlAttas © 15 Topic Road Map Components and Component Based Development  Architectures, frame works and product lines Patterns
  • 16. Reem AlAttas © 16 Software Architecture Software architecture is a high-level abstract description of the structure of a software system — its major parts and how they are interrelated.
  • 17. Reem AlAttas © 17 Architectural Styles Software is viewed as a system composed of a number of subsystems, perhaps of different types, that are connected together. The way the subsystems interact and are connected together distinguishes the styles.
  • 18. Reem AlAttas © 18 … Architectural Styles 1. Data-flow:  Support reuse and modifiability.  Focuses on the flow of data through the system.  common in older batch computer systems & UNIX. 2. Data-centered:  Support the ability to integrate systems sharing data.  Focuses on a centralized store of persistent data.  If the store is passive it is called a repository or database.  If it is active and informs users of changes it is termed a blackboard.
  • 19. Reem AlAttas © 19 … Architectural Styles 3. Virtual-machine:  Support portability.  Focuses on abstractions that give a complete service to their users.  Ex. Java Virtual Machine, which enables executable Java code to be transported between machines. 3. Call–return:  Support modifiability and scalability.  Focuses on the sequence of computation.  OO approaches are simply the current manifestation of this style.
  • 20. Reem AlAttas © 20 … Architectural Styles 5. Independent-components:  Support modifiability.  Decouples subsystems so that they communicate symbolically and indirectly.  Ex. the client–server approach to distributed systems.
  • 21. Reem AlAttas © 21 The Input Output Application User Interaction Architecture  In object-oriented approaches this became known as model–view–controller (MVC) architecture, which equates model with application, view with output, and controller with input.
  • 22. Reem AlAttas © 22 Frameworks  Composed of an architecture, together with a component repository with components suitable for use within the framework, plus whatever documentation would facilitate the use of the framework.  When a company wants to produce a range of products based on a common framework it is a called product line.
  • 23. Reem AlAttas © 23 The Product-line Process 1. Product-line initiation. 2. Domain analysis. 3. Architecture specification. 4. Component collection. 5. Specific-requirements capture. 6. Architecture specialization. 7. Component selection and specialization. 8. Integration and release.
  • 24. Reem AlAttas © 24 Topic Road Map Components and Component Based Development Architectures, frame works and product lines  Patterns
  • 25. Reem AlAttas © 25 Patterns Records of good solutions from experienced software engineers.
  • 26. Reem AlAttas © 26 The Model View Controller Architecture The MVC architecture, or framework, describes a high-level solution to the general problem of human–computer interaction, relating what the user sees on a screen and does with a keyboard, mouse or other interaction device, to the functions of an application and the data that it stores.
  • 27. Reem AlAttas © 27 Patterns Existing at Several Levels Architectural patterns are the highest level pattern. Design patterns are the intermediate level pattern. Idioms are at the lowest level and include program code level concepts.
  翻译: