Software Architecture & Component Orientation Jose Donate CS 6362.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Architectural Mismatch: Why Reuse Is So Hard David Garlan, Robert Allen, and John Ockerbloom Presented by Hoang Bao CSC 509 – Winter 2005.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Object Oriented System Development with VB .NET
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Course Instructor: Aisha Azeem
Seminar of “CBSE” Course Mohammad Mahdizadeh SM. University of Science and Technology Mazandaran-Babol January 2010 Adaptation of.
UNIT-V The MVC architecture and Struts Framework.
What is Software Architecture?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
This chapter is extracted from Sommerville’s slides. Text book chapter
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
An Object-Oriented Approach to Programming Logic and Design
CS240 Computer Science II Introduction to Unix Based on “UNIX for Programmers and Users” by G.Class and K. Ables.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Ch:10 Component Level Design Unit 4. What is Component? A component is a modular building block for computer software Because components reside within.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Configuration Management (CM)
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
An overview of scripting languages Alexander Kanavin Teachers: Barbara Miraftabi, Jan Voracek.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
Visual C++ Programming: Concepts and Projects
1 3. Computing System Fundamentals 3.1 Language Translators.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
3/5/2009Computer software1 Introduction Computer System Hardware Software HW Kernel/OS API Application Programs SW.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Frameworks CompSci 230 S Software Construction.
An Architecture to Support Context-Aware Applications
Chapter 11 Managing Application Development. Agenda Application management framework Application management issues Criteria for development approach Development.
Software Prototyping Rapid software development to validate requirements.
Configuration Management CSCI 5801: Software Engineering.
LECTURE 20 26/11/15. Summary - Testing ◦ Testing affects all stages of software engineering cycle ◦ One strategy is a bottom-up approach – class, integration,
Principles of Information Systems, Sixth Edition Software: Systems and Application Software Chapter 4.
CS 1120: Computer Science II Software Life Cycle Slides courtesy of: Prof. Ajay Gupta and Prof. James Yang (format and other minor modifications by by.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 2 - September 14, 2004.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Lecture 21: Component-Based Software Engineering
The Object-Oriented Database System Manifesto Malcolm Atkinson, François Bancilhon, David deWitt, Klaus Dittrich, David Maier, Stanley Zdonik DOOD'89,
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure Generations of Programming Languages 10.4 Programming.
Microsoft Foundation Classes MFC
What Do Computers Do? A computer system is
Prototyping in the software process
Software Prototyping.
Introduction to Design Patterns
Software Prototyping Animating and demonstrating system requirements.
Tools of Software Development
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
CS 1120: Computer Science II Software Life Cycle
Chapter 1 Introduction(1.1)
Analysis models and design models
CS 1120: Computer Science II Software Life Cycle
Architectural Mismatch: Why reuse is so hard?
Presentation transcript:

Software Architecture & Component Orientation Jose Donate CS 6362

Component Orientation Overview ► Introduction to Scripting Languages ► Component Software Architecture ► Componentware & Object Orientation

Scripting Languages ► Scripting is Known as connecting different existing components to achieve a new related task. ► Scripts serves as a "glue" allowing existing software (e.g., components) to be incorporated into application configurations. Script Component

Scripting Languages ► The combined component obtains common specifications from the constituent component. ► If the components have similar specifications they can function with no need of additional coding. ► This is frequently known as plug-and-play integration. ► When they are executed at runtime, it becomes a form late binding.

Scripting Languages ► In some cases of large-scale development, a scripts and a lower level programming languages are combined to provide particular strengths. ► Also are commonly used for developing graphical user interfaces (GUI’s) ► Scripts are usually stored in the form of plain text and interpreted, or compiled when they are invoked. ► Some Script Languages are JavaScript language, Visual Basic and TCL shell programming languages.

Component Software Architecture ► Software architecture is concerned with the planning and maintenance of system structure. ► As an example of a what is considered a good architecture, a system structure should have room for changes in requirements and technologies. ► Reusable components can accommodate changes to guarantee the continuous satisfaction during the life cycle of a system.

Component Software Architecture ► Software architecture offers the design context within which components are designed and reused. ► An important characteristic of software architecture for componentware is the ability to support distributed project teams. ► Software architecture contains a system specification that allows parallel, independent development of the system or its components.

Component Software Architecture ► Appropriate software architecture identifies computational boundaries that segregate the system into subsystems that can be tested by themselves. ► These subsystems can be outsourced to one or more distributed project teams.

Componentware & Object Orientation Componentware have four overlapping principles with object orientation: Principles EncapsulationPolymorphismLate BindingSafety

► Componentware don’t give the same importance to inheritance as object orientation does. ► As an alternative, instead of inheriting from other objects, functionality reuse is accomplished by invoking or delegating components. Componentware & Object Orientation

► “Componentware technologies provide sophisticated approaches to software development that challenge outdated assumptions” ► “Componentware represents a fundamental change in technology as object orientation did in previous generations” By Raphael Malveau, Thomas J. Mowbray. Raphael MalveauThomas J. MowbrayRaphael MalveauThomas J. Mowbray

References Bredemeyer Consulting: Resources for Software Architects ► Software Architecture: Basic Training ► Wikipedia: The Free Content Encyclopedia. ► ►