Component Based Software Engineering (CBSE)

Slides:



Advertisements
Similar presentations
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 16: Analysis and Design (a short introduction) ● As engineers in other desciplines do, it necessary for real projects to “analyse” and “design”
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
Ch 4 The Process page 1CS 368 Building Software is Difficult often delivered late often over budget always with errors must be a custom solution complexity.
Software Reuse Building software from reusable components Objectives
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
- 1 - Component Based Development R&D SDM Theo Schouten.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Component-Based Software Engineering (CBSE)
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
COMPONENT-BASED SOFTWARE ENGINEERING
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Chapter 2 The process Process, Methods, and Tools
CSE 303 – Software Design and Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Chapter Five An Introduction to Design Patterns Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Software Requirements Engineering CSE 305 Lecture-2.
Ch:10 Component Level Design Unit 4. What is Component? A component is a modular building block for computer software Because components reside within.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
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 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Lecture 21: Component-Based Software Engineering
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Washington, D.C., U.S.A May Some concepts of systems architectures Industrialization of statistics and software architecture Study cases.
SQA project process standards IEEE software engineering standards
Information Systems Development
Software Configuration Management
Overview Software Maintenance and Evolution Definitions
Software Engineering Management
Regression Testing with its types
IS301 – Software Engineering Dept of Computer Information Systems
SQA project process standards IEEE software engineering standards
Chapter 17 - Component-based software engineering
CS 5150 Software Engineering
CS 641 – Requirements Engineering
CS 641 – Requirements Engineering
Software Engineering (CSI 321)
Component Based Software Engineering
Software Project Sizing and Cost Estimation
Software Configuration Management
Software Project Planning &
Software Processes.
Software Engineering (CSI 321)
Component Based Software Engineering
SLOC and Size Reporting
Software Reuse Objectives
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Testing and Maintenance Maintenance and Evolution Overview
CS 1120: Computer Science II Software Life Cycle
Introduction To software engineering
Chapter 27 Software Change.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Strategy for development of new software
Chapter 17 - Component-based software engineering
CS 1120: Computer Science II Software Life Cycle
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Software Engineering and Architecture
Logical Architecture & UML Package Diagrams
Presentation transcript:

Component Based Software Engineering (CBSE) Chris Sholar 11-03-03 CS5667

CBSE Emphasis Design and construction of computer-based systems using reusable software “components”. Goal is to create a catalog of software components that would be appropriate to use in given system requirements. Leads to some questions…

Possible to construct complex systems using a catalog of reusable software components? Can this be accomplished in a timely cost-efficient manner? Can the programmers be convinced to use this method of reuse, rather than reinvent? (XP programming style?) Can the catalog of components be made available to whoever needs it?

Why Is It Used? The stereo example Motivation Components rather than discrete parts. Simpler to implement once created, cataloged Leads to more consistent product design and implementation…MS office suite.

The Process Who does it? Why important? Steps? Software engineers Previous statements Steps? Parallel activities Domain engineering Component based engineering

Work product Is it right? Operational software created from existing and newly developed software components Is it right? Uses same SQA practices applied to any SE process Formal reviews Specialized reviews to cover acquired components. Testing, testing, testing.

Engineering CB Systems Establish requirements the old fashioned way. Architectural design is created Differs from standard because team then examines requirements for possible component use. Asks these questions: COTS components available? Internally developed reusable components available? Are the interfaces from components compatible with architecture of the system?

Goal: Design team attempts to modify or remove system requirements that cannot be implemented with COTS or internally created components. If this cannot be done, the traditional method is then applied. Can be to create reusable components, or create proprietary software.

When Available Components Work New SE activities Component qualification Component adaptation Component composition Component update

Component qualification Do the services provided by the component meet the needs of the system? Component adaptation Can the component be modified to meet the needs of the system? Component composition The system architecture dictates the composition of the component. Component update When COTS are used, update becomes difficult because of third-party constraints.

The CBSE Process Model Adds Incorporation into typical evolutionary process model. Adds Qualifications for interface Adaptation of components Assembles components Updates components

Process Model Parallel tracks Domain engineering Component based development Establishes set of software components that can be reused by the software engineer The major part of the work

Homework Identify the parts of the GoL project that could be made into components for reuse.