0% found this document useful (0 votes)
5 views12 pages

Chapter 5 Framework

Chapter 5 of COSC 6106 discusses software frameworks, highlighting their characteristics, categories, and differences from models. Frameworks provide reusable structures for developing applications, with various types including web, application, and mobile frameworks. The chapter also explains how frameworks support models and methodologies in software development, such as the Scaled Agile Framework Enterprise.

Uploaded by

mengesha
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views12 pages

Chapter 5 Framework

Chapter 5 of COSC 6106 discusses software frameworks, highlighting their characteristics, categories, and differences from models. Frameworks provide reusable structures for developing applications, with various types including web, application, and mobile frameworks. The chapter also explains how frameworks support models and methodologies in software development, such as the Scaled Agile Framework Enterprise.

Uploaded by

mengesha
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Architecture and Design (COSC 6106)

Chapter 5: Frameworks
Ayalew Belay (Dr.)
[Link]@[Link]

1
Framework
◼Frameworks is a powerful technology for developing and
reusing middleware and application software that possess the
qualities including:
◼ Affordability
◼ Extensibility
◼ Flexibility
◼ Portability
◼ Predictability

◼A software framework is a program skeleton that may be


directly reused, or adapted according to well-defined rules, to
solve a family of related problems.
◼A framework usually implements a design pattern, and often
uses several patterns in combination.
2
Characteristics of frameworks
◼A framework provides an integrated set of domain specific
structures and functionality.
◼ Reuse of software depends largely on how well frameworks model the
commonalities and variability

◼A framework is a “semi-complete” application that


programmers can customize to form complete applications by
extending reusable components in the framework
◼A framework exhibits “inversion of control” at run time via
callbacks to component hook methods after the occurrence of
an event, such as a mouse click or data arriving on a network
connection.
◼ When an event occurs, the framework calls back to a virtual hook method
in a pre-registered component, which then performs application-defined
processing in response to the event.

3
4
Frameworks Category
◼Web Application Frameworks
◼Application Frameworks
◼ Mobile Apps Frameworks

5
Web Application Frameworks
◼Designed to support the development of dynamic websites,
web applications and web services
◼ AngularJS (open source, java script, single-page)
◼ Laravel (open source, php , web apps, MVC)
◼ ReactJS(java script library, UI, single-page web apps, facebook
,Instagram)
◼ NodeJS(java script, server-side)
◼ Ruby on rails (server-side, Ruby)
◼ Symfony (php)
◼ [Link](server-side, web service, dynamic web pages)

6
Application Frameworks
◼Implement the standard structure of an application.
◼ MVC (Model View Controller)
◼ MFC (Microsoft Foundation Classes)
◼ MacZoop (for macintosh) Coca on mac

7
Mobile Apps Frameworks
◼ Phone Gap (java script & HTML5, Apache)
◼ React native (HTML & CSS & Java script)
◼ Ionic framework(open source sdk, java script)
◼ Mobile Angular UI(bootstrap & Angular)

8
Difference between Framework & Model
◼Model: Something that has been tested and found to work.
But it must be executed in a specific way. A model will not
work if the steps are not followed exactly.
◼Models are an abstraction that provides a rough definition of
practices and inter-relationships needed by an organization
to deliver a product or service.
◼Models are valuable if they are theoretically consistent, fit the
real world and have predictive power.
◼The Capability Maturity Model Integration – Development
(CMMI-DEV) is a model leveraged in many software
development organizations.
◼The CMMI provides a core set of practices that organizations
have typically needed to deliver software. 9
◼The CMMI defines an outline of what needs to be done but
not how or in what order.
◼The model that is chosen influences the models and methods
that will be leveraged by different layers of the organization.

10
◼Frameworks provide the structure needed to implement a model
(or some part of the a model).
◼The Scaled Agile Framework Enterprise is a framework which
leverages other frameworks and methods as tools to deliver
value.
◼This framework defines the flow of work from an organization’s
portfolio to the Agile teams that will develop and integrate the
code.
◼The Framework calls leverages other frameworks and
methodologies such as DevOps, Scrum, Kanban and Extreme
Programing.

11
Framework, Model, Architecture, Protocol
12

You might also like