SystemDesign Methodologies

Size: px
Start display at page:

Download "SystemDesign Methodologies"

Transcription

1 SystemDesign Methodologies CM Maintenance is not part of the design process by Claudia Buder, bq Anne Holzapfel, hq923380

2 Abstract In context of the level three module of System design Methodology a report about a given subject has been created. The following report describes shortly the underlying theory of the subject Maintenance is not part of the design process. Furthermore four case studies dealing with this topic are described. Some facts about the case studies are given. Finally a conclusion has been formed to verify or disprove this thesis on the basis of the described case studies and the theory.

3 Content Abstract...2 Content...3 List of Figures...4 Introduction...5 Allegation...5 Software Development/ Engineering...5 Software Development Methodology...7 Design Process...7 Maintenance Process...7 Summary...8 Case Studies...8 A future for Professional Communicators in Software Engineering...8 General Information...8 The Authors...8 Content...9 NASA s TReK Project: A Case Study in Using the Spiral Model of Software Development...9 General Information...9 The Authors...9 Content...9 Maintenance-Oriented Design and Development: A Case Study...10 General information...10 The authors...10 Content...10 A Case Study: Demands on Component-based Development...11 General information...11 The authors...11 Content...12 Conclusion...12

4 List of Figures Picture 1: Waterfall model...6 Picture 2: Spiral model...6 Picture 3: The (a) traditional approach to software development and (b) a shift in that perspective...11

5 Introduction In context of the SDM Module two assignments should be worked out. For the first one, described in the following, there was the possibility to choose one topic out of ten. It was decided to elaborate Maintenance is not part of the design process. Within the considerations software engineering is the basis for this assignment. Maintenance and design will be regarded as subprocesses of the software development process. In fact there are special definitions for the maintenance and the design that should provide the concepts for the work. Further meanings of maintenance and design are not taken into account as subject of the report. Allegation Both the design and the maintenance process describe the changing and modelling of a system or software. While the design process takes part during the development of the product, the maintenance only recently occurs after the system development and its delivery. Therefore, design and maintenance are different processes within software development but they influence each other. Software Development/ Engineering When developing an application special procedures take place. The way of going about the creation and upkeep of a new software product or system is called software process or software engineering. Within the development there are several activities that belong to it: specification of software development of software validation of software evolution of software Commonly specified models of the software process are used for making it more transparent. One of them is the Waterfall model that describes the different stages of the development in sequence with some overlap (see picture 1). The different phases are: specify requirements create design write code test maintain.

6 Picture 1: Waterfall model The pure waterfall model process is usually not practical enough. Therefore there is another often used model, the Spiral model (see picture 2). There the Waterfall model is traversed several times and each pass through the Waterfall produces a new specified product that is more suitable than the previous one until the final product is ready for delivery. Maintenance is included in the section service at the end of the spiral. Picture 2: Spiral model Both models and the definition of the software development process show that the design process is independent from the maintenance process. But the design of the software is very

7 important for the quantity and quality of the later maintenance. The after-development maintenance can be very expensive when the requirement analysis and the design are not performed properly, e.g. no up-to-date requirements document, inflexible design. Software Development Methodology Software development methodology is based on a life-cycle model of system development and has a number of development phases with a set of steps and rules for each phase. Whereas a life cycle coarsely partitions the development of a system into stages, a methodology takes a life cycle and further divides each of the stages into a number of steps. A methodology will prescribe in great detail what tasks need to be done, what documents are produced at each stage and what documents are required as input to each stage. In fact, it provides a detailed plan for producing a system. (Britton and Doake, 19-20) The use of a methodology eases the management of a project because of defining the input and output of every single process of a project. Thus a methodology should be adapted to the project and not be considered as perfect. Methodologies change over time equal to projects and topics. Design Process The design process that bases on the specified requirements deals with how the application is to be constructed, how the parts are involved and how they are to be assembled. There are three stages within the design process: study and understand the problem, identification of features of at least one possible solution and description of each abstraction used within the solution. Different levels of abstraction develop several models because of error and omission detection. During the process more and more details are added that create precise specifications of algorithms and data structures that has to be implemented further on. All of these activities are evaluated parallel and include the following steps: architectural design abstract specification interface design component design data structure design algorithm design. Maintenance Process The maintenance process describes the work performed on an application that happens after it has been delivered and includes some system changes to maintain its ability to survive (evolution). Maintenance can cover everything from fixing minor coding mistakes to major misunderstandings of user requirements. It deals with the modification and the extension of a developed system.

8 On the one hand there can be a defect removal that cares about finding and fixing all inconsistencies with the requirements document. On the other hand by introducing and satisfying new requirements there can be an enhancement of the software. There are three types of maintenance corrective maintenance (fixing reported errors in the software) adaptive maintenance (changing the software to some new environment) perfective maintenance (implementing new functional or non functional system requirements). Different types of errors also need different types to care about them. Coding errors, design errors, specification errors need different levels of maintenance complexity. All changes made during the maintenance process are validated and finally a new version of the system/ software is released. Summary Regarding the software development process (see different models) the design and maintenance process are independent parts. The definitions and objectives of both processes state that design is important before implementing the software. It handles the specified requirements and creates a useful basis for the coding. In contrast the maintenance of a system refers to a finished system and releases as result new versions of it. However, the design process should work in consideration of the later system maintenance in relation to reusability, portability and flexibility. A cost reduction may be a consequence of a well performed design phase. Finally, the thesis that maintenance is not part of the design process is provided by theory. Case Studies A future for Professional Communicators in Software Engineering General Information A future for Professional Communicators in Software Engineering was published by ACM (Association of Computing Machinery) Press in New York The case study s aim is that Communicators learn more about software engineering by describing in detail the phases of software development so that they are able to improve software products. The purpose of this paper is to specify areas in which technical communicators should become more competent and in which software engineering managers should consider involving communicators (Horberg 1994, 1). The author tries to answer the question why it is so difficult to develop good software. He wants to give a reference that software would be better when involving Communicators in more of the software development phases. The Authors John K. Horberg was a PhD student at Rensselaer Polytechnic Institute's Department of Language, Literature, and Communication at the time the article was published.

9 Content The case study deals with an analysis of the software development phases including the maintenance and design process to show where professional communicators can be involved to increase the quality of communication between the developer of the software and the customers. The article is divided into three sections named Difficulties of Software Engineering, Survey of Software Engineers and Customers and Task for professional Communicators. The first section reflects the problem of communication between customers and engineers. The engineer tries to create an error free program but the customer doesn t really get what he wants. Here is where Horberg comes to the conclusion that a design process should be more flexible because user requirements change over time. To react flexible to those changing requirements the professional communicators are needed because software engineers are better at engineering software then they are at communicating with customers (Horberg 1994, 4). The second section explains a study on satisfaction and dissatisfaction of customers and engineers about software projects and its belonging communication, evaluated by the author in It results in the opinion that better communication between user and developer will end in a better software product. In the third section the software engineering process is explained in detail to show where communicators can take part. John K. Horberg s definition of a software engineering process is based on the Waterfall model (see above). The design process is described as a phase of showing the customer the development of the software design in single steps using for example storyboarding. Maintenance is not named as part of it but as an independent phase. The author has the opinion that involving communicators in the design process will reduce maintenance costs and result in higher quality of software. NASA s TReK Project: A Case Study in Using the Spiral Model of Software Development General Information NASA s TReK Project: A Case Study in Using the Spiral Model of Software Development was published by ACM in Communications of the ACM (Volume 45 Issue 4) in April The Case Study deals with the use of the spiral model during the development of a PC based ground control system. It should help other project teams to choose the right process model to consistently produce high quality software on time, within budget, and under highly volatile real-world constraints (Hendrix and Schneider 2002, 1). The effort of the project team is reflected and estimated. The Authors T. Dean Hendrix is an assistant professor of computer science and engineering at Auburn University. Dr. Hendrix's research deals with issues in software engineering and associated automated environments. His current focus is on software visualization systems to support the human comprehension of software [ Michelle P Schneider is employed at NASA s Marshall Space Flight Centre and is the Telescience Resource Kit (TReK) project leader. Content The Telescience Resource Kit (TReK) is a project from the NASA (National Aeronautics and Space Administration). The developed software is used to monitor and control processes at the ISS (International Space Station). A life cycle has been worked out based on the Spiral

10 Model because they need an incremental approach more than a document driven approach like the Waterfall model. The developed lifecycle model for the TReK project has three phases, requirement analysis, the spiral and release. The spiral contains four regions which fulfils all the necessary software development activities including analysis, design, coding, testing and maintenance. It also includes project activities such as planning, scheduling, system management, configuration management, and quality assurance (Hendrix and Schneider 2002, 4). The four defined regions within the spiral were: planning/ risk assessment studies and engineering demonstration evaluation The number of increments was not fixed at the beginning of the project. It should be possible to react flexible to changing user requirements. The maintenance process was seen as an integral part of the lifecycle and handled within the spiral. Maintenance in their opinion began directly in a software project and isn t a separate, isolated activity to be addressed in the future (Hendrix and Schneider 2002, 5). If changes are needed during the development process they are performed whenever essential. The authors do not explicitly assign the maintenance to a process, neither to the design process nor as a special process itself. Maintenance-Oriented Design and Development: A Case Study General information The case study is a report published in the IEEE journal IEEE SOFTWARE July/August 2002 as part of the category focus out of the box. The report represents a case study where traditional and maintenance-oriented processes are compared. The importance of maintenance and the focus on the development process toward it are shown, so that the software projects ends in success, on time and on budget. The authors As the director of online community development at Virtualia S.A. José Pablo Zagal makes researches in human computer interactions, computer game design and development, computer-assisted education, and online communities (BS in engineering and MSc in computer science). Raúl Santelices Ahués, Blue Planet Software Raúl Santelices Ahués is a software engineer at Blue Planet Software interested in virtual reality, computer game development, and real-time artificial intelligence (BS in engineering and MSc in computer science). Miguel Nussbaum Voehl: The full professor of computer science in the School of Engineering at the Catholic University of Chile has research interests including knowledge engineering, artificial intelligence in human sciences, and technology applications in education (EE from the Catholic University of Chile, MSc in computer science and PhD in informatics). Content For demonstrating the statement that maintenance efforts are very time and resourceconsuming as a part of the software development process and for making the importance and complexity of it visible, that case study cares about the development of handheld video games. The creation of Selva, a video game with educational content, was the task within a

11 project of a multidisciplinary team of the Schools of Engineering and Psychology at the Pontificia Universidad Católica de Chile between 1996 and The project followed the traditional approach of software development. The main concern was the maintenance orientation within design and implementation. The later maintenance would be: modifications to the game levels and in each game s dynamics interface changes changes to the educational schema Within the report some design instabilities are described that could be led to a maintenance cost increase. But the tasks of the used maintenance-oriented process plan show that the several design parts altogether worked with regard on the later maintenance and that it became a function of the design process. Nevertheless, the maintenance process was also an independent standalone process of the software development. Software development becomes an initial base design followed by maintenance as the next step. The base design specifies the design schemes and how they will handle quality assurance and requirement changes. ( Zagal, Ahués and Voehl 2002, 100) Picture 3: The (a) traditional approach to software development and (b) a shift in that perspective A Case Study: Demands on Component-based Development General information The case study was published by ICSE in 2000 in Limerick, Ireland as a research and development report concerning the software development process within ABB Advant industrial process control system. In general the importance of producing flexible and compatible software with regard to designing, developing and maintaining components for reuse is described. As example, the design of the Advant system of ABB is used and the development and maintenance aspects of a component based system are used. The authors Ivica Crnkovic is professor on software engineering and chair of software engineering lab at the Mälardalen University (Västerås, Sweden), Department of Computer Engineering. Furthermore, he is involved in the Mälardalen Real-time Research Center MRTC.

12 Magnus Larsson also works for the Department of Computer Engineering at the Mälardalen University (Västerås, Sweden) Bachelor in Computer Engeneerin at Märlardalen University 1995 Master in Computer Science at Uppsala University 2000 Licentiate degree in Computer Science at Mälardalen University In 1999 he started a Ph.D. program at Märlardalen University and since 1993 Larrson designs and implements the infrastructure in ABBs automation platform. He cares about the ABB Automation products, research and development. Content First, the paper gives an overview of the situation of ABB as a global electrical engineering and technology company. It describes the Advant system, its architecture and components more in detail and underlines the special design of it for reuse. The main concern of the project is the design in view of scalability, openness and cost-efficiency, also in relation to the flexibility, robustness, stability and compatibility (migration between different platforms) of the system components and the necessary maintenance of the system. All requirements are described in detail and its advantages are highlighted. Later on, there is a description of the maintenance process that was handled on different levels: the system level (customers report their problems) the standard product level (errors detected in a specific product version are reported) the component level (e.g. a failure occurs at the product level, while the root cause lies in a component) These levels and the maintenance volume where planned and handled in the planning, design and development process of the project, to ensure reusability of the system with low costs. The conclusion of the case study is positive and mentions once more the independency of the maintenance and design process: Success in development, maintenance and continued improvement of the systems has been achieved by a careful architecture design, where the main principle is the reuse of components. The reuse orientation provides many advantages, but it also requires systematic approach in design planning, extensive development, support of a more complex maintenance process, and in general more consideration being given to components. (Crnkovic and Larsson 2000, 29-30) Conclusion In fact, by recognizing that maintenance is not a part of the software development process which is often topic of a case study, it was very difficult to find case studies that match the need of this report. Because of seeing maintenance as dependent to the software development process we attempted to find case studies concerning that subject, which include a definition of maintenance in the described project. However, these case studies included not more than one short sentence about maintenance within the described project. These difficulties may be led back to the problem that maintenance is not taken into account enough during the development of the software. Although it is a special independent process as the two case studies A future for Professional Communicators in Software Engineering and Maintenance-Oriented Design and Development: A Case Study expose, it should be more often regarded as important point during design decisions as mentioned in A Case Study: Demands on Component-based Development. The earlier maintenance is taken into account the less costs have to be spend on it. If you design your software considering reusability, scalability and flexibility it will affect the maintenance effort after the delivery of the project.

13 By defining the word maintenance it is important to be very precise. Sometimes maintenance is seen as every change made in the application during the whole lifecycle. Thus NASA s TReK Project: A Case Study in Using the Spiral Model of Software Development treat maintenance as being present and performed during the whole incremental process of software development. That is what we call testing and troubleshooting. But if maintenance is defined as that part of the development where modifying and improving of the still delivered software takes place, the other three case studies will fit in this definition. As mentioned before maintenance is according to our definition not part of the design process but to enhance the quality of the software and to reduce maintenance effort it should be considered as a serious decision criteria when designing and implementing the software. Word count: 3110

14 References Books Sommerville, Ian (1996) Software Engineering. Fifth Edition. Addison-Wesley Publishing Company Pressman, Roger S.( 2001) Software Engineering. A practical Approach. Fifth Edition. McGraw-Hill Book Co Britton, Carol and Doake, Jill (1993) Software System Development. A gentle introduction. McGraw-Hill Book Company Europe Braude, Eric. Sotware Design (2003) From Programming to Architecture. Wiley International Edition. John Wiley & Sons, Inc. Articles Crnkovic, Ivica and Larsson, Magnus (2000) A Case Study: Demands on Component-based Development. ICSE, Zagal, José Pablo, Ahués, Raúl Santelices and Nussbaum Voehl, Miguel (2002) Maintenance- Oriented Design and Development: A Case Study. IEEE Software July/ August 2002, p Hendrix, T. Dean and Schneider, Michelle P (April 2002) NASA s TReK Project: A Case Study in Using the Spiral Model of Software Development. Communications of the ACM Volume 45 Issue 4 Horberg, John K. (1994) A future for Professional Communicators in Software Engineering. ACM (Association of Computing Machinery) Press

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 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, ivica.crnkovic@mdh.se 2 ABB Corporate Research,

More information

Processing Requirements by Software Configuration Management

Processing Requirements by Software Configuration Management Processing Requirements by Software Configuration Management Ivica Crnkovic 1, Peter Funk 1, Magnus Larsson 2 1 Mälardalen University, Department of Computer Engineering, S-721 23 Västerås, Sweden {ivica.crnkovic,

More information

Managing Standard Components in Large Software Systems

Managing Standard Components in Large Software Systems Position paper: Managing Standard Components in Large Software Systems Ivica Crnkovic Mälardalen University, Department of Computer Engineering Box 883, SE-721 23 Västerås, Sweden ivica.crnkovic@mdh.se

More information

Software Engineering

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

More information

Components Based Design and Development. Unit 2: Software Engineering Quick Overview

Components Based Design and Development. Unit 2: Software Engineering Quick Overview Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 2: Software Engineering Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos

More information

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 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

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

More information

Overview Component-based Software Engineering State of the Art Report

Overview Component-based Software Engineering State of the Art Report Overview Component-based Software Engineering State of the Art Report Ivica Crnkovic 1, Magnus Larsson 2 1 Mälardalen University, Department of Computer Engineering, 721 23 Västerås, Sweden, Ivica.Crnkovic@mdh.se

More information

Outline. Definitions. Course schedule

Outline. Definitions. Course schedule SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week

More information

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. 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

More information

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. bayu@unsri.ac.

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. bayu@unsri.ac. The software process Software Development Methods Bayu Adhi Tama, ST., MTI. bayu@unsri.ac.id A structured set of activities required to develop a software system Specification; Design; Validation; Evolution.

More information

Component Based Development in Software Engineering

Component Based Development in Software Engineering 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

More information

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

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

More information

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 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

More information

Software Life Cycle Processes

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

More information

To introduce software process models To describe three generic process models and when they may be used

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

More information

Standardized software development model for SME software houses in Pakistan

Standardized software development model for SME software houses in Pakistan Standardized software development model for SME software houses in Pakistan Abstract There are many software development models that exist for software development like Extreme Programming, Waterfall,

More information

How To Understand Software Engineering

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

More information

Umbrella: A New Component-Based Software Development Model

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.

More information

Software Engineering. Objectives. Designing, building and maintaining large software systems

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

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

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

More information

ASSESSMENT OF SOFTWARE PROCESS MODELS

ASSESSMENT OF SOFTWARE PROCESS MODELS ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development

More information

Surveying and evaluating tools for managing processes for software intensive systems

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

More information

(Refer Slide Time: 01:52)

(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

More information

A Review of an MVC Framework based Software Development

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

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

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

More information

What is a life cycle model?

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

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

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

More information

Combining Models for Business Decisions and Software Development

Combining Models for Business Decisions and Software Development Combining Models for Business Decisions and Software Development 1 Christina Wallin, 2 Stig Larsson, 3 Fredrik Ekdahl, 1 Ivica Crnkovic 1 Mälardalen University, Department of Computer Engineering, Västerås,

More information

Software Engineering. Software Engineering. Software Costs

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

More information

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle The Second Management Innovation and Practices Conference, Tamsui, Taiwan, April 2001,Volume 2, pp59-68 應 用 測 試 於 軟 體 發 展 生 命 週 期 Testing In The Software Development Life Cycle 蔡 博 元 莊 立 文 真 理 大 學 資 訊

More information

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

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

More information

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software? System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in

More information

A Comparison between Five Models of Software Engineering

A Comparison between Five Models of Software Engineering International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College

More information

SOA Testing Services. Enabling Business Agility and Digital Transformation

SOA Testing Services. Enabling Business Agility and Digital Transformation SOA Testing Services Enabling Business Agility and Digital Transformation Getting Value From Service Oriented Architecture (SOA) Many organisations have chosen a Service Oriented Architecture (SOA) middleware

More information

International Journal of Advance Research in Computer Science and Management Studies

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

More information

A Survey of Software Development Process Models in Software Engineering

A Survey of Software Development Process Models in Software Engineering , pp. 55-70 http://dx.doi.org/10.14257/ijseia.2015.9.11.05 A Survey of Software Development Process Models in Software Engineering Iqbal H. Sarker 1, Faisal Faruque 1, Ujjal Hossen 2 and Atikur Rahman

More information

What makes a good process?

What makes a good process? Rob Davis Everyone wants a good process. Our businesses would be more profitable if we had them. But do we know what a good process is? Would we recognized one if we saw it? And how do we ensure we can

More information

Christina Wallin ABB Corporate Research Department of Industrial IT 721 78 Västerås +46 (0)21 34 50 74 christina.wallin@se.abb.

Christina Wallin ABB Corporate Research Department of Industrial IT 721 78 Västerås +46 (0)21 34 50 74 christina.wallin@se.abb. Christina Wallin ABB Corporate Research Department of Industrial IT 721 78 Västerås +46 (0)21 34 50 74 christina.wallin@se.abb.com Software Development Lifecycle Models The Basic Types Rikard Land Mälardalens

More information

Software Project Models

Software Project Models INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,

More information

Global Software Engineering European Master

Global Software Engineering European Master Global Software Engineering European Master The Global Software Engineering European Master Programme, GSEEM, gives you the skills you need to master the challenges of developing software systems in a

More information

Is Software Engineering Training Enough for Software Engineers?

Is Software Engineering Training Enough for Software Engineers? Is Software Engineering Training Enough for Software Engineers? Ivica Crnkovic, Rikard Land, Andreas Sjögren Mälardalen University, Department of Computer Science and Engineering PO Box 883, SE-721 23

More information

I219 Software Design Methodology

I219 Software Design Methodology I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts

More information

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

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: hg@upb.de Outline I Introduction II Foundations III The Development

More information

Elite: A New Component-Based Software Development Model

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-

More information

Verification and Validation of Software Components and Component Based Software Systems

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 christina.wallin@mdh.se

More information

Departamento de Informática Universidad de Valladolid Campus de Segovia TOPIC 6: INTRODUCTION TO SOFTWARE ENGINEERING

Departamento de Informática Universidad de Valladolid Campus de Segovia TOPIC 6: INTRODUCTION TO SOFTWARE ENGINEERING Departamento de Informática Universidad de Valladolid Campus de Segovia TOPIC 6: INTRODUCTION TO SOFTWARE ENGINEERING THE SOFTWARE FEATURES Software is developed not manufacture. Software does not break

More information

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

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: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation

More information

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville Introduction to Software Engineering Adopted from Software Engineering, by Ian Sommerville To discuss the factors that led to software failures and the phenomenon of the Software Crisis ; To introduce

More information

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK Office of Safety and Mission Assurance NASA-GB-9503 SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK AUGUST 1995 National Aeronautics and Space Administration Washington, D.C. 20546 PREFACE The growth in cost

More information

Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds

Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds Zhe Wang, Xiaodong Liu, Kevin Chalmers School of Computing Edinburgh Napier

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty

More information

White Paper 6 Steps to Enhance Performance of Critical Systems

White Paper 6 Steps to Enhance Performance of Critical Systems White Paper 6 Steps to Enhance Performance of Critical Systems Despite the fact that enterprise IT departments have invested heavily in dynamic testing tools to verify and validate application performance

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

Modelli di sviluppo software. Enrico Giunchiglia

Modelli di sviluppo software. Enrico Giunchiglia Modelli di sviluppo software Enrico Giunchiglia The software development process A structured set of activities required to develop a software system, including Specification Design & Development Validation

More information

Modeling the Mobile Application Development Lifecycle

Modeling the Mobile Application Development Lifecycle , March 12-14, 2014, Hong Kong Modeling the Mobile Application Development Lifecycle Tejas Vithani, Member, IAENG and Anand Kumar Abstract Software Development Lifecycle is crucial in Desktop or web application

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Bachelor Degree in Informatics Engineering Master courses

Bachelor Degree in Informatics Engineering Master courses Bachelor Degree in Informatics Engineering Master courses Donostia School of Informatics The University of the Basque Country, UPV/EHU For more information: Universidad del País Vasco / Euskal Herriko

More information

Chakra Vs Spiral Model - A Practical Approach

Chakra Vs Spiral Model - A Practical Approach Chakra - A new era in Software Lifecycle modeling technique R.P.Muthu Assistant Professor, Department of Computer Science Indian Institute of Technology, Bombay. Abstract: Every old thing has to be modified

More information

How To Model Software Development Life Cycle Models

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

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

Ingegneria del Software. Gabriele Monfardini - Corso di Ingegneria del Software

Ingegneria del Software. Gabriele Monfardini - Corso di Ingegneria del Software Ingegneria del Software Presentazione del corso slide, esami e molto altro... Libri di testo C. Ghezzi, M. Jazayeri, D. Mandrioli, "Ingegneria del software. Fondamenti e principi", 2a ed., Pearson Education

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay

A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay Jonathan I. Maletic Robert G. Reynolds Computer Science Department Wayne State University 431 State Hall Detroit, MI 48202

More information

A Componentware Methodology based on Process Patterns Klaus Bergner, Andreas Rausch Marc Sihling, Alexander Vilbig Institut fur Informatik Technische Universitat Munchen D-80290 Munchen http://www4.informatik.tu-muenchen.de

More information

Implementation of hybrid software architecture for Artificial Intelligence System

Implementation of hybrid software architecture for Artificial Intelligence System IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.1, January 2007 35 Implementation of hybrid software architecture for Artificial Intelligence System B.Vinayagasundaram and

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

A Comparison Between Five Models Of Software Engineering

A Comparison Between Five Models Of Software Engineering 94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management International Journal of Soft Computing and Engineering (IJSCE) A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management Jayanthi.R, M Lilly Florence Abstract:

More information

System Software Product Line

System Software Product Line System Software Product Line 2 1 Introduction The concept of Software Product Lines has been developed for more than a decade. Being initially an academic topic, product lines are more and more incorporated

More information

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison

More information

7 Component-based Development Process and Component Lifecycle

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

More information

An Overview of Challenges of Component Based Software Engineering

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

More information

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

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

More information

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all

More information

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

Software Quality and Assurance in Waterfall model and XP - A Comparative Study Software Quality and Assurance in Waterfall model and XP - A Comparative Study Dr. Sana a Jawdat Khalaf Sana_j_11@hotmail.com Dr. Mohamed Noor Al-Jedaiah m_aljedaiah@ammanu.edu.jo Abstract: -Dealing with

More information

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

IMPROVING THE DESIGN-CONSTRUCTION INTERFACE

IMPROVING THE DESIGN-CONSTRUCTION INTERFACE Improving the Design-Construction Interface IMPROVING THE DESIGN-CONSTRUCTION INTERFACE Luis F. Alarcón 1 and Daniel A. Mardones 2 ABSTRACT In building projects customer requirements, constructive aspects

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

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

More information

RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY

RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY M. AYMAN AL AHMAR Asstt. Prof. and Deputy Dean, College of Engineering and Information Technology, Fujairah Campus, Ajman University

More information

Lecture 3 Software Development Processes

Lecture 3 Software Development Processes Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview

More information

A Process Model for Software Architecture

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

More information

PRODUCT DATA MANAGEMENT AND SOFTWARE CONFIGURATION MANAGEMENT INTEGRATION

PRODUCT DATA MANAGEMENT AND SOFTWARE CONFIGURATION MANAGEMENT INTEGRATION Mälardalen University Press Licentiate Theses No.58 PRODUCT DATA MANAGEMENT AND SOFTWARE CONFIGURATION MANAGEMENT INTEGRATION Annita Persson Dahlqvist 2005 Department of Computer Science and Electronics

More information

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

More information

An Introduction to Software Engineering

An Introduction to Software Engineering An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the

More information

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the

More information

Unit I. Introduction

Unit I. Introduction Unit I Introduction Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

CSCI-485: Software Design

CSCI-485: Software Design CSCI-485: Software Design Lecture 6 Note: Some slides adapted from Software Engineering by Ian Sommerville Software Processes Code-and-fix model Software process model used in the early days of computing

More information

Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture

Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture 5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Knowledge-based Approach in Information Systems Life Cycle and Information

More information

a new generation software test automation framework - CIVIM

a new generation software test automation framework - CIVIM a new generation software test automation framework - CIVIM Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican

More information

How To Write Software

How To Write Software Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

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 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

Introduction to Software Engineering

Introduction to Software Engineering What is Software Engineering Introduction to Software Engineering Prof. Lyle N. Long lnl@psu.edu http://www.personal.psu.edu/lnl Sources of Material What is software? Software Engineering, 7 th Edition,

More information