Component Based Development in Software Engineering
|
|
|
- Garry Wilkerson
- 10 years ago
- Views:
Transcription
1 Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software engineering. As they provide automated or semi-automated support for the various processes and the methods. There are three main approaches in Software Engineering world such as Structured, Object-oriented and Component-based approach. The last Component-based approach introduces more benefits to this world in terms of reusability, flexibility and maintainability. This paper basically provides the background of various software engineering approaches and compares the Component based development to the object oriented development approach and to the various other traditional approaches. Index Term Component Based Development, Commercial off the shelf (COTS), Object-oriented Development, Process Models. I. INTRODUCTION Software engineering is defined as the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software that is the application of engineering to software. Software engineering process is the glue that holds the technology layers together and enables rational and timely development of computer software [1]. The history of software engineering begins from traditional approach that is the first methodology in the software world. It is meant that software development using a set of mature and stable technologies, which often include mainframe-based technologies. Then object-oriented approach came into this world and brought many new useful features. It covered most of the aspects of software development, including testing and project management. And the last one is-like a return to the correct mean of engineering- component-based approach. One of the essential characteristics of engineering disciplines is to build a product by assembling pre-made, standard components. The component-based approach is the most recent. Right now, component-based development (CBD) is in the leading edge phase. Indeed, there are now a number of technologies appropriate for and people with experience in the application of CBD [2]. Figure 1- The evolution to components in the industry [2]. One of the main contributions that CBD has is the reuse of software components in multiple systems. In this way a software component is developed only once, and can save out development effort multiple times. This approach towards saving effort does of course also work for other (intermediate) products that are made in the course of software development. An approach puts this idea central is called reuse-based software engineering [3]. II. VARIOUS APPROACHES FOR SOFTWARE ENGINEERING There are three major approaches in this world such as structured, object-oriented, and component-based [5]. A. Structured Approach This approach contains basic steps of a software development process such as analysis, design, implementation, testing, and maintenance. This report focuses on only analysis and design steps and their models. The design phase produces a data design, an architectural design, an interface design, and a procedural design with the help of various methods and techniques [5]. Manuscript received March, Amandeep Bakshi, Computer Science & Engineering Department, Thapar University, Patiala, India. Rupinder Singh, Computer Science & Engineering Department, Thapar University, Patiala, India. Figure 2- Analysis and design model for structured approach [1]. 48
2 Component Based Development in Software Engineering B. Object-Oriented Approach Object-oriented approach promises a way for implementing real-world problems to abstractions from which software can be developed effectively. It is a sensible strategy to transform the development of a large, complex super-system into the development of a set of less complicated sub-systems. Object-orientation also aims to provide a mechanism to support the reuse of program code, design, and analysis models. Therefore, analysis and design phases are inevitable for object-oriented approach, as well. In this approach, design is divided into four different steps as illustrated in Table 1 [5]. Table1- Analysis and design phases for object-oriented approach[5]. Phase Techniques Key Deliverables Analysis Collaboration Diagrams Analysis Models Class and Object Models Analysis Modeling System Design Deployment Modeling Component Modeling Overview design and implementation architecture Architectural Modeling Class Design Class and Object Modeling Design Models Interface Design Data Management Design Class and Object Modeling Prototyping Class and Object Modeling In structured approach, the end user would receive a monolithic application. When it is developed using object-oriented approach, the end user would still receive a monolithic application. Shortly, the object-oriented approach is the service of the functional developer, not the end user [5]. Figure 3- Object-oriented applications [5]. C. Component Based Approach Design Models with interface specification Design Models with database specification Component-based development is a CBSE activity that occurs in parallel with domain Engineering. Once the architecture has been established, it must be populated by components that (1) are available from reuse libraries and/or (2) are engineered to meet custom needs. Hence, the task flow for component-based development has two parallel paths. When reusable components are available for potential integration into the architecture, they must be qualified and adapted. When new components are required, they must be engineered. The resultant components are then composed (integrated) into the architecture template and tested thoroughly [1]. The resulting increase in reuse should dramatically improve time-to-market, software lifecycle costs, and quality [5]. The distributed object approach extends the object-oriented approach with the ability to call objects across address space boundaries, typically using an object request broker capability. The distributed system approach means a development approach for building systems that are distributed, are often multi-tier [5]. Figure 4 depicts the transformation that occurs after object oriented approach. Figure 4- CBD maturity phases [5]. III. VARIOUS PROCESS MODELS There are various process models called life cycle, which are developed for different circumstances. Traditional process models are the most mature ones, and mostly suit structured approach. However, they are also used for recent approaches such as object-oriented and component-based approaches in various phases and in somehow modified form. Object-oriented approach does not offer any original process model, which provides for its needs completely. Therefore, this approach complies with traditional models and their appropriate combinations. However, it is different when it comes to component-based approach because it changes the nature of software [5]. A. Traditional Process Models A number of different life-cycle models are used and three of them are most widely used i.e. waterfall with iteration, rapid prototyping and the spiral model. B. Object-Oriented Process Models The critical sense of object-oriented models is iteration, which is inevitable. One of the most favored models is fountain model, which contains circles, defining overlapping phases. In addition, there are arrows, describing the iteration within those phases. In this model, maintenance is reduced considerably. Besides fountain, there are other models, which can be considered within object oriented approach. These models are iterative and, incorporate some form of parallelism (overlap of activities), and support incremental development. One essential problem with these types of models, that is team members moves almost randomly between phases due to parallelism [6]. 49
3 components, their integration into a super-component should be carried out. COSE process model consists of four main phases and a system test phase: System specification, System decomposition, Component Specification, search, modification, creation, Integration Figure 5- Fountain model [6]. C. Component Based Stojanovic Process Model A component-oriented development process model, shown in Figure 6, has been introduced by Stojanovic, focusing on the component concept from business requirements to implementation. This process will be called by its owner s name. The phases of requirements, analysis, design and implementation in a traditional development process has been substituted by service requirements, component identification, component specification, component assembly and deployment. After the components of the system are fully specified, a decision can be made to build components, wrap existing assets, buy COTS (Commercial Off-the-Shelf) components or invoke web services over the Internet [5]. Figure 7- COSE process [5]. IV. CBD VS OBJECT-ORIENTED DEVELOPMENT (OOD) The main difference between a component and an object is that, a component is meant to be a runtime entity, whereas an object is an instance of a class. Objects are usually not thread-secure, because the designer knows (or thinks he knows) how the objects are going to be used. In a component context, he cannot be sure about that, and therefore the components have to be secured. To build complex units, objects can also use inheritance, whereas when components build complex units, they are limited to composition. In other words, a developer connects several components to make a super component. Components are deployed independently, and it is impossible to predict how the component is going to be used. As a result, concerns about dependencies between components, call backs, components using each other - but belonging to different threads, safety and security, and so on - are much more important than they are in plain object-oriented modeling or design [5]. Figure 6 - Stojanovic Process Model [5]. D. Component Based COSE Process Model COSE Process Model is an activity which starts from top-down to introduce the building blocks of the system. As the activity continues towards lower granularity blocks, interfaces between the blocks are also defined. At an arrived level where the module is expected to correspond to a component, a temporary bottom-up approach can be taken, if desired capability can only be achieved by a set of Figure 7- Component-based approaches [5]. Table2- A comparison of CBD and OOD [5] 50
4 Component Based Development in Software Engineering Attributes CBD OOD Interoperability Provides communication between different technologies Development is restricted with one technology on one platform Reusability Run-time Development-time Flexibility More flexible in terms of Less flexible hardware and software Reliability Thread safe and secure Dependent on developers ability Deployment Independent parts of software Monolithic software application Building strategy Composition is major Inheritance is unnecessary Inheritance and composition are both used V. CBD VS TRADITIONAL DEVELOPMENT In traditional approaches, a modification request may conceptually affect only one module, but implementation of the modification usually ends up with impacting several modules. Furthermore, in many cases the whole application needs to be redeployed as shown in Figure 8 [5]. Gain in Cost Gain in Operational Quality Gain in Functionality Gain in Time to market. Gain in Maintenance Overhead To make use of existing COTS components and existing integration technologies, the system designer often follows a bottom up approach [3]. Lifecycle follows sequence of phases: 1. Selection from wide range of candidate assets. 2. Integration in the host system. 3. Verification and validation of the COTS product. 4. Maintenance of the COTS product. COTS development is a special case of CBSD Table3- Comparison between COTS and CBSD [3]. Key areas COTS CBSD White Box versus Black Box Black Box White Box Copy right Privileges Vendor System/user Developer Maintenance Vendor Developer Retrieval Criteria Exact Match Approximate Match Figure 8- Traditional deployment method [5]. Using a component-based approach, the same cycle becomes as illustrated in Figure 9. In this case, the modification usually impacts only the component that is affected by the modification request, and it is possible to redeploy only the impacted component. This benefit is particularly important for large systems. Figure 9- Deployment method in component-based approach [5]. VI. COTS VS CBD Commercial off the shelf (COTS) based software development is the process of building software application from commercially available software components. A COTS product is an executable software product has the following characteristics [3]. It is sold, leased or licensed to the general public. Buyers, lessees and licenses have no access to the source code; hence can only use the product as a black box. It is offered by a vendor who has created it and is typically responsible for its maintenance and its upgrades. It is available in multiple identical copies (with in the same version) on the market. There are a number of advantages to use COTS products in software development [3]. VII. CONCLUSION In software Industry for developing an application, mainly three process approaches and models are used i.e. structured approach, object oriented approach and component based approach. Out of these the component based approach and CBSE process model is the best because it help us to divide the application into two parallel activities i.e. component based development and domain engineering which helps to develop a components and reuse the old components from COTS for developing the new applications. By using CBD, we can easily develop components.cbd then qualifies, adapts and integrate these components for use in a new system. It also support integration and composition and COTS helps for selecting the component for reuse. So, as a result, CBSE process improves quality and productivity and hence reduces development schedule and effort. Now days two new process models are used i.e. Stojanovic Process Model and COSE process Model on the basis of component based approach. These Models helps to redeploy the whole application. VIII. FUTURE SCOPE CBD approach is especially sensitive for safety-critical domains, real-time systems, different process-control systems where the demands on reliability are higher than in a standard web based application. One biggest problem with CBD is low control of quality requirements of component-based systems and extensive work must be done in that direction. CBSE is facing many challenges today, some of these are summarized in the following:- Trusted components Component certification Composition predictability 51
5 Requirements management properly Long-term management of component-based systems Component configurations Tool support REFERENCES [1] PRESSMAN Roger, Software Engineering, McGraw Hill, [2] HERZUM Peter, SIMS Oliver, Business Component Factory, Wiley, [3] Mili, H, Mili,A.,Vacoub S., and Addy, E(2002) Reuse Based Software Engineering, Wiley- Interscience Publication, USA. [4] G. Pour, Component-Based Software Development Approach: New Opportunities and Challenges, Proceedings Technology of Object-Oriented Languages, TOOLS 26., pp [5] BAYAR Vedat, A Process Model For Component Oriented Software Development, Master Thesis, [6] RUMBAUGH James, BLAHA Michael, PREMERLANI William, EDDY Frederick, LORENSEN William, Object Oriented Modeling and Design, Prentice Hall, [7] Somerville, Ian, Software Engineering, 7th Edition, Addison-Wesley, Amandeep Bakshi is Post Graduate student in Computer Science & Engineering Department, Thapar University, Patiala, India and pursuing Master of Engineering in Software Engineering. He holds Bachelor of Technology (B.Tech) degree in Information Technology from Punjab Technical University, I.E.T. Bhaddal, Ropar, Punjab, India (2010). Rupinder Singh is Post Graduate student in Computer Science & Engineering Department, Thapar University, Patiala, India and pursuing Master of Engineering in Software Engineering. He holds Bachelor of Technology (B.Tech) degree in Computer Science & Engineering from Thapar University Patiala, Punjab, India (2011). 52
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
A Comparision Between Traditional and Component Based Software Development Process Models
J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012) A Comparision Between Traditional and Component Based Software Development Process Models MANJU KAUSHIK 1 and M. S. DULAWAT 2 1 Research Scholars, Mohanlal
Object-Oriented Systems Analysis and Design
Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS
7 Component-based Development Process and Component Lifecycle
7 Component-based Development Process and Component Lifecycle The process of component and component-based system development differs in many significant ways from the classical development process of
CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT
CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT CONTENTS 5.1 Introduction 5.2 Component based software life cycle process model 5.2.1 Rapid Application Development Model 5.2.2 The Y
CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
IT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Component Based Development Methods - comparison
Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
Axiomatic design of software systems
Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.
Umbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
Y: A New Component-Based Software Life Cycle Model
Journal of Computer Science 1 (1): 76-82, 2005 ISSN 1549-3636 Science Publications, 2005 Y: A New Component-Based Software Life Cycle Model Luiz Fernando Capretz Department of Electrical and Computer Engineering,
A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.
A Software Engineering Process for Operational Space Weather Systems S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.com Transitioning Research Models into Operations Software
Object-Oriented Modeling and Design
Object-Oriented Modeling and Design James Rumbaugh Michael Blaha William Premerlani Frederick Eddy William Lorensen General Electric Research and Development Center Schenectady, New York Tschnische Hochschule
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
Developing the Architectural Framework for SOA Adoption
Developing the Architectural Framework for SOA Adoption Oliver Sims Enterprise Architect [email protected] Copyright Open-IT Limited 2005 Agenda Service Orientation just a good technology? The
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
THE EVOLUTION OF COMPONENT BASED SOFTWARE ENGINEERING FROM THE TRADITIONAL APPROACH TO CURRENT PRACTICES
International Journal of Engineering and Management Research, Vol. 2, Issue-3, JUNE 2012 ISSN No.: 2250-0758 Pages: 45-52 www.ijemr.net THE EVOLUTION OF COMPONENT BASED SOFTWARE ENGINEERING FROM THE TRADITIONAL
An Overview of Challenges of Component Based Software Engineering
An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
A Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
Enterprise Frameworks: Guidelines for Selection
Enterprise Frameworks: Guidelines for Selection Mohamed E. Fayad, University of Nebraska, Lincoln David S. Hamu, TRW [email protected], [email protected] An Enterprise Framework (EF) is a software architecture.
4. Incorporate Lessons Learned with SDLC
131 4. Incorporate Lessons Learned with SDLC In today s world, there are lots of Software Development Life Cycle Models. We have seen some of them earlier. We have seen the analytical study of these models
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase
Software Life-Cycle Series of steps through which software product progresses From requirements through retirement A life-cycle is selected during requirement 1 Build-And-Fix Model Product is implemented
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
System development lifecycle waterfall model
Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4
COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
International Journal of Advance Research in Computer Science and Management Studies
Volume 2, Issue 12, December 2014 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online
A Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases
Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
SOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
Aspect Oriented Strategy to model the Examination Management Systems
Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of
SWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
A Contrast and Comparison of Modern Software Process Models
A Contrast and Comparison of Modern Software Process s Pankaj Vohra Computer Science & Engineering Department Thapar University, Patiala Ashima Singh Computer Science & Engineering Department Thapar University,
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
A Process Model for Software Architecture
272 A Process Model for Software A. Rama Mohan Reddy Associate Professor Dr. P Govindarajulu Professor Dr. M M Naidu Professor Department of Computer Science and Engineering Sri Venkateswara University
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
A system is a set of integrated components interacting with each other to serve a common purpose.
SYSTEM DEVELOPMENT AND THE WATERFALL MODEL What is a System? (Ch. 18) A system is a set of integrated components interacting with each other to serve a common purpose. A computer-based system is a system
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Software Engineering. Software Engineering. Software Costs
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian
BCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT. Software Engineering 1. June 2015 EXAMINERS REPORT
BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Software Engineering 1 June 2015 EXAMINERS REPORT General Comments This is a technical paper about Software Engineering. Questions seek to
Certification Authorities Software Team (CAST) Position Paper CAST-18
Certification Authorities Software Team (CAST) Position Paper CAST-18 Reverse Engineering in Certification Projects Completed June 2003 (Rev 1) NOTE: This position paper has been coordinated among the
Software Engineering for Software-Intensive Systems: III The Development Life Cycle
Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: [email protected] Outline I Introduction II Foundations III The Development
Masters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. [email protected].
The software process Software Development Methods Bayu Adhi Tama, ST., MTI. [email protected] A structured set of activities required to develop a software system Specification; Design; Validation; Evolution.
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
SystemDesign Methodologies
SystemDesign Methodologies CM 3380-3 Maintenance is not part of the design process by Claudia Buder, bq923372 Anne Holzapfel, hq923380 Abstract In context of the level three module of System design Methodology
Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
Service Oriented Architecture and Its Advantages
ORIENTAL JOURNAL OF COMPUTER SCIENCE & TECHNOLOGY An International Open Free Access, Peer Reviewed Research Journal Published By: Oriental Scientific Publishing Co., India. www.computerscijournal.org ISSN:
An Integrated Methodology for Implementing ERP Systems
APDSI 2000 Full Paper (July, 2000) An Integrated Methodology for Implementing ERP Systems Su-Yeon Kim 1), Eui-Ho Suh 2), Hyun-Seok Hwang 3) 1) Department of Industrial Engineering, POSTECH, Korea ([email protected])
An Improved Model for Component Based Software Development
Software Engineering 2012, 2(4): 138-146 DOI: 10.5923/j.se.20120204.07 An Improved Model for Component Based Software Development Asif Irshad Khan 1,*, Noor-ul-Qayyum 2, Usman Ali Khan 2 1 Department of
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction
CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for
Objectives. The software process. Basic software process Models. Waterfall model. Software Processes
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
The SOA Reference Model 1 By John Cheesman, Georgios Ntinolazos
The SOA Reference Model 1 By John Cheesman, Georgios Ntinolazos Abstract This is the first in a series of articles in which we provide precise guidance on implementing SOA. This builds upon and further
Life Cycle Activity Areas for Component-Based Software Engineering Processes
Life Cycle Activity Areas for Component-Based Software Engineering Processes Robert C. Seacord Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 USA +1 412-268-3265 Kingsley
SOA: The missing link between Enterprise Architecture and Solution Architecture
SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing
A STUDY ON COMPONENT BASED SOFTWARE ENGINEERING
A STUDY ON COMPONENT BASED SOFTWARE ENGINEERING A MASTER S THESIS in Computer Engineering Atılım University by MURAT GÜNEŞTAŞ JANUARY 2005 A STUDY ON COMPONENT BASED SOFTWARE ENGINEERING A THESIS SUBMITTED
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Reuse Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the benefits of software reuse and some reuse problems To discuss several different
2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
Overview of Software Engineering and the Software Development Process
Overview of Software Engineering and the Software Development Process CONTENTS I. Definition of Software and Characteristics of Software II. Types / Categories of Software 1. System Software 2. Real-time
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 [email protected] Abstract This paper presents an
Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
Software Life Cycle Processes
Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process
Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: [email protected] line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
Enhanced Funding Requirements: Seven Conditions and Standards
Department of Health and Human Services Centers for Medicare & Medicaid Services Enhanced Funding Requirements: Seven Conditions and Standards Medicaid IT Supplement (MITS-11-01-v1.0) Version 1.0 April
Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems
Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software
