A Comparative Overview of the Evolution of Software Development Models
|
|
|
- Tobias Harrington
- 10 years ago
- Views:
Transcription
1 International Journal of Industrial Engineering and Management (), Vol.1 No 4, 2010, pp Available online at ISSN A Comparative Overview of the Evolution of Software Development Models Predrag Matković University of Novi Sad - Faculty of Economics, Segedinski put 9-11, Subotica, Serbia, [email protected] Pere Tumbas University of Novi Sad - Faculty of Economics, Segedinski put 9-11, Subotica, Serbia, [email protected] Received ( ); Revised ( ); Accepted ( ) Abstract Information system (IS) development began as early as Up to the 1960s, IS development was based on IT pioneers individual knowledge, so that this period is referred to as pioneer era, and some sources even use the term heroic age. The emergence of software crisis also saw the first forms of organised and systematised software development. Systematizing and organising the development efforts was concretised through a multitude of methodologies which appeared in the meantime, and were used for determining the structure, as well as planning and monitoring development procedures. Academic and professional literature offers a multitude of definitions of the term methodology. Most definitions explain this term as a set of clear rules and principles for the application of methods and/or procedures, with the aim of resolving various problems. More specifically, in the software development area, methodologies can be viewed as a set of rules and principles for using methods and/or procedures applied when conducting development activities by pre-defined roles in the software development process, with the use of input artifacts, aimed at obtaining output artifacts as the constituent elements of the future software. Methodologies are built on theoretical foundations, and are all based on one or more development models. In this paper, the term model refers to a systematic and logical description of a development process, without detailed elaboration of activities, performers, inputs and outputs. The paper provides an evolutional overview of development models, with their comparisons, and considers the expected avenues of future development. Key words: software development models, evolution, comparision 1. INTRODUCTION The most significant phenomenon in the systematization and organisation of the software development process Systems Development Life Cycle or Software Development Life Cycle (SDLC) (Fig. 1). Figure 1. System development life cycle [1]
2 164 Matković, P., Tumbas, P. SDLS is a process of creating and adapting software products, as well as a basis for creating methodologies and models in software engineering. Since the emergence of SDLC in the early 1960s to date, all development models and all methodological approaches have incorporated elements of SDLC in their content [3]. Models and methodologies were developed both on strict adherence to SDLC on the one hand, and its critique and searching new alternatives in software development on the other. Those 1960s principles have served as a foundation for the construction of a multitude of development models to date, which can all be structured into two core categories: models based on sequential approach and models based on iterative approach. 2. MODELS BASED ON SEQUENTIAL APPROACH The most significant model based on sequential approach is the waterfall model which is, together with its modifications, one of the most common development models in software development history. The original model was developed as early as 1970, by Winston W. Royce. When describing his model, he himself did not use the word waterfall, but, due to the manner of presenting the essence of software development (Fig. 2), the model was named so. Figure 2. Waterfall model [2] The key detail in Royce s model presentation is the positioning of development phases in the sequence of their execution. Supposing that the time in the model is distributed along a horizontal axis, it is obvious that the subsequent development phase follows only after the closure of the previous. This feature is the model s key characteristic, neglected in most of the later interpretations. Authors tended to neglect the time dimension and their graphic presentation included partially overlapping phases, thereby creating a misconception that development phases can flow simultaneously. The waterfall model is based on SDLC. Initially presenting his model, Royce already expressed doubts as regards its successful practical implementation, so that he presented a theoretically ideal model plus its empirical equivalent (Fig. 3). The reason for such a model implementation lies in the fact that most verifiable outputs are available in the testing phase, when the procedure is, most often, returned to the software requirement phase, or, less frequently, to the design phase. Figure 3. Royce s modifications of the original waterfall model [2]
3 Matković, P., Tumbas, P. Royce further suggested that a 30-month project might have a 10-month pilot model and justified its necessity when the project contains novel elements and unknown factors (hardly a unique case). Thus, we see hints of iterative development, feedback, and adaptation in Royce s article. This iterative feedbackbased step has been lost in most descriptions of this model, although it is clearly not classic iterative and incremental development. [11] Although the shortcomings of the waterfall model were noticed even by its author, it became the basis for building a multitude of later models, and established itself as the most common model in software development history. The key advantages contributing to the model s popularity include: as a strictly defined model, it is characterised by standardised activities described in detail in all development phases; it includes testing, i.e. verification of completed operations and obtained results at the closure of each development phase; detailed and high-quality documentation is generated in all development phases, simultaneously with the execution of individual activities; and individual participants in the development process are comparatively easy to replace. The model s disadvantages, which initiated its numerous modifications, are: inflexibility in the division of the development activities into separate phases and lack of back circuit i.e. feedback between stages; errors not removed in individual development phases, during product testing or verification, can have tremendous distortion impact on the development as a whole; 165 impossibility of iterations during the realisation of development, as these cause serious problems and confusion in model implementation; difficulty of adaptation to uncertainty which tends to exist at the start of the project, when it is very hard for the users to explicitly specify all their software requirements; lengthy development process, so that users have to be very patient and persistent, because the working versions of the software are unavailable before the end of the development activity, until when there is only a written specification of the future software s functionalities; only a fully completed product is usable by the users; and high development costs. One of the most interesting comparisons of the waterfall model with real-life phenomena, depicting its shortcomings, is Steve McConnell s comparison of the waterfall model and the lifecycle of salmon. The key objections to the waterfall model stated in this comparison can be summarised as: difficulties in encompassing the complete problem at the beginning of the development; difficulties in returning to previous development phase; and the fact that it is impossible to precisely separate activities, techniques and tool utilisation by phases. The author of the critical view of the waterfall model claimed that it is possible to swim upstream, but the strain is so intensive that it can kill. This statement is graphically represented in Fig. 4. Various versions of the modified waterfall model have been developed in order to mitigate the disadvantages of the waterfall model. Figure 4. Salmon life cycle as the critique of the waterfall model [4]
4 166 The so-called Sashimi model was developed by Peter DeGrace, as a modified version of the waterfall model (Fig. 5). The key feature of the Sashimi model is the possibility of overlapping development phases, i.e. introducing feedback into the classical waterfall model. The idea on which the model is based is identification of errors made on time, while the development phase is still in progress. For instance, errors made in the design phase are identified during implementation, while design is still in progress. Another important feature of the Sashimi model is different treatment of documentation. Whereas the Matković, P., Tumbas, P. documentation in the classical waterfall model is exchanged by teams in charge of completing individual phases, Sashimi model treats the documentation as a unified document. Such an approach results in a significant reduction in the documentation volume. The approach to completing the development process modified by the Sashimi model also has its shortcomings. These are, above all, unclear key development milestones, difficult monitoring of individual activities, and communication problems. Figure 5. Sashimi waterfall model with overlapping phases [4] In addition to the Sashimi model, literature also mentions waterfall model with subprojects and waterfall model with risk reduction. All the modified models share one feature, which is adding iterative elements into the classical sequential waterfall model approach, thereby representing their possible combination. Iterative elements, however, are added in the solution field, which remains the key disadvantage of all modifications. 3. MODELS BASED ON ITERATIVE APPROACH Analysing academic and professional literature, it is easy to get a wrong impression that the use of iterative approach began with the emergence of object oriented development, and especially with agile development. Facts give quite the opposite evidence. In Royce s original article, describing this model, the author of the waterfall model argues that the classical sequential approach is not applicable to the entire project. He states that, if a project lasts for thirty months, a pilot version of the programme is released after ten months. After the user feedback, this version undergoes new iterations. So, in the text which represents the manifest of sequential approach, the author himself includes iterative elements The prototype model The first generally accepted model based on iterative approach is the prototype model ( Fig. 6). As the graphic representation of the model shows, it is a purely iterative approach. The first serious discussion on prototype-based software development was opened by Frederick Phillips Brooks Jr. A multitude of prototype types have appeared since then, all based on iterative approach. The prototype-based development model begins by gathering and selecting the users basic requirements. The development team and the users define the overall goals of software product development together, identifying all the known software product development objectives, and determining the areas requiring further activities of more precise definition. This is followed by rapid design, focussed on the realisation of the software aspects visible to the user (input and output formats, etc.). A prototype is developed following such design. Its purpose is to refine the requirements of the software developed. Refinement is iterative and
5 Matković, P., Tumbas, P. continues until the prototype meets the user s requirements, and, at the same time, enables the designer to fully understand the requirements to be met. Ideally, the prototype design serves for identifying user requirements. The subsequent design phase follows when the prototype is proved to be satisfactory by user evaluation, and so on until the final product for use is obtained [10]. 167 users are fully involved in development and can constantly change their requirements, which enhances the quality of the total process. This model also has its disadvantages, i.e. the application of the prototype model can be questionable for several reasons: resources cannot be accurately assessed and planned with high quality; the user observes the product s working version not knowing how the software segments are interconnected, or that the quality or maintenance were considered over a longer time period due to the implementation speed; the developer often resorts to compromise at the expense of software quality, with the aim to get the built prototype functioning, so that later on, such less ideal solutions, or better to say lower-quality solutions remain as an integral part of the final product; high probability of failure in replacing the prototype with the final solution; and in most cases, documentation created in the process of developing the final solution tends to remain uncompleted. Figure 6. Prototype model [5] The advantages of using the prototype model are: increased speed and creativity in development; constant provision of the product s working versions, which can serve for analysing functionality, performance, adaptability and development costs; 3.2 The spiral model The model that made the greatest contribution to promoting iteration in software development is the model shown in Fig. 7. The spiral model was presented in 1988 by Barry W. Boehm. Viewing the appearance of the model, out of the context of time, as well as contemporary technical and technological situation in software industry, could lead to wrong conclusions and influence the comprehension of its significance. Figure 7. Spiral model [6]
6 168 The spiral model was devised as an ode to iteration. As an introduction to his work, Boehm quotes the following statements: Stop the life cycle I want to get off! Life-cycle Concept Considered Harmful. The waterfall model is dead. No it isn t, but is should be. These are only some of the quotations used by Boehm to start the theoretical debate on the model. The late 1980s was a period when the throne of structure-based development started shaking, and object-oriented development started taking up its place as the dominant software development method. Object-oriented programming languages such as ADA, SmallTalk and C++ had already fully demonstrated their strength. It had already become clear to everyone that structural programming techniques in software implementation were being abandoned. What was missing was coordination of other development phases. This was not brought on by the spiral model, but it did initiate the theoretical revolution of dethroning structure-based development. This is why Boehm and his model take up such a significant place in the history of software engineering. The essence of the spiral model is risk assessment, used as a basis for decisions on further software development. As the output result, the end of each spiral produces a prototype which is the object of evaluation. The model also provides activities conducted along each spiral and in each of its segment (the spiral is divided in four with a coordinate system). The output points of each development phase are strictly determined, as inherited from the waterfall model, and developed prototypes evaluated are the inheritance of the prototype model. The defined development activities are clearly distributed along the spiral [9]. The model s fundamental tenet is that a given sequence of activities is iterated in software development and maintenance. Activities are initially performed with a high degree of abstraction, and then gradually move to details. The advantages of the use of the spiral model are: production of functional software in a short time period; flexibility in the engineering phase and the possibility of combining various approaches to software development; possibility of risk assessment at any time and abstraction level, thus providing for timely response to observed risks and a mechanism for their reduction by the application of prototype model; and Matković, P., Tumbas, P. the model retains the systematic approach taken over from the waterfall model, with the possibility of iteration. The spiral model s disadvantages are: absence of correlation with the existing standards, i.e. lack of standards for this software development model; the model requires more uniformity and consistency in development; the model is comparatively capital-intensive for application in small-scale product development, for risk analyses require specific expertise; great problems are created in situations when risks are not detected in due time or at all, thus producing multiplicator effect in its development The Unified Process model The principles of the spiral model made a significant contribution to the development of other models, with a higher level of practical implementation. However, there remains another problem, which none of the models took into consideration before the mid-1990s. It is the treatment of the business problem as a whole, with decomposition of the entire system in the domain of solution. All of the concepts of the object-oriented approach practically craved for decomposition of the problem into constituents, but this had never been considered. The mid-1990s finally saw the emergence of theoretical considerations that started applying iteration much earlier in the development process. Instead of previous segmentation of the solution, the focus was transferred to segmentation of the problem. The time dimension was distributed in relation to the content dimension (Fig. 8). Thus the development process was divided into multiple iterations, which were carried out based on small sequence approach. The key risk prevention effect was achieved by significantly reducing the time gap between error occurrence and detection. In addition, the user is much more actively involved in the software development process, thereby additionally contributing to risk reduction. The model promoting such a way of thinking is the Unified Process model (Fig. 9). The Unified Process model first appeared in academic and expert sources in a 1999 book by Ivar Jacobson, Grady Booch and James Rumbaugh. The term Unified Process originated from the Rational Unified Process model, IBM s trademarked brand. Ever since, this has been the most common software development model.
7 Matković, P., Tumbas, P. 169 Figure 8. Unified Process model Contents deployed from time stretch [7] As a software development model, Unified Process recommends disciplines-based approach, with the aim of allocating tasks and responsibilities within the development team. The Unified Process software development is set between two dimensions, time and content. The time dimension is structured in four phases: inception, elaboration, construction and transition. The content dimension comprises six principal and three auxiliary disciplines. The principal disciplines are those of business modelling, requirements, analysis and design, implementation, testing and deployment. The auxiliary disciplines are configuration and change management, project management and environment. Each element of the process matrix is a combination of unified process static structure elements and their distribution over time. Figure 9. Unified Process model [7] 3.4. The Microsoft Solution Framework (MSF) model Most of the significant development models are based on a combination of iterative and sequential approaches. Representing all those models is practically impossible, so that the following section of the article presents the MSF model, conceived by Microsoft s experts in order to set the theoretical basis for developing Microsoft products. It was practically unknown to the public until 2004, when it was presented in MSF documents published on Microsoft s pages.
8 170 Matković, P., Tumbas, P. Figure 10. Simplified representation of the waterfall, spiral and MSF models [8] The MSF model is based on the positive characteristics of the spiral and waterfall models. If simplified, these two models, as well as the newly built one, can be represented as in Fig. 10. The waterfall model comprises a sequence of milestones representing the closure of individual stages. Before moving to the subsequent development phase, all the activities from the previous phase must be completed. Such a development model is the best solution for projects with predefined and unchangeable requirements. The spiral model is based on continuous redefinition of user requirements and pre-calculations. This model can be highly effective when used for rapid application development and small projects. However, on larger projects, without clearly established milestones, software development process in this model becomes chaotic. The MSF model has the following characteristics: phase- and milestone-based approach; included iteration; and integrated approach to solution building and installation. The lifecycle of one project version is divided into five phases: envisioning, planning, developing, stabilizing and deploying (Fig.11). At the closure of each phase there is a principal milestone, and within it there are also internal milestones. What is completed in the previous phase is delivered at the principal milestones. Good communication and detailed information provided to users about all activities are major prerequisites for project success Agile models Frequently exceeded deadlines and budgets in the realisation of software development projects, permanent growth in the complexity of technology and recurrent changes in user requirements have lead to the emergence of new development models towards the end of the 20th century, and the creation of agile models, much more flexible and adaptable to change by their features, enabling users to actively participate in all the development phases and activities. The agile approaches partially faced up to the core problem of the contemporary and also rapid software Figure 11. MSF model [8] development. The prevalent idea is that teams can be more efficient in change management if they are capable of reducing the time and costs of exchanging information between participants in development in such a way as to shorten the time period between the moment the decision was made and feedback on the impact of this decision. The starting tenets of agile models were that turbulent corporate and technological environments require a software development processes which not only creates changes, but also responds to them, and, at the same time, a process including responsible participants and their good organisations. Special consideration is given
9 Matković, P., Tumbas, P. to participants, i.e. their talent, skills and abilities, as well as their mutual communication. Participant-centric approach is the key feature of agile models, as the complete development process is adapted to individuals. [12] In agile development teams, individual competencies represent the critical factor of project success. According to agile models, if the individuals involved in the project possess adequate qualities, they can attain the desired goal with any development process. If not so, there is no development process that can substitute their incompetence. At the same time, the lack of user support may easily destroy the development process, just like inadequate support may prevent project completion. Agile processes highlight the unique abilities of individuals and teams. That is to say, processes cannot compensate for inadequate individual competencies. The teams are self-organised, with intensive communication within and outside organisational frameworks. These teams can change their structure at any point, so as to adapt to change. Agility implies that the team shares a common objective, mutual trust and appreciation, joint and swift decision-making process and the ability to deal with all ambiguities. An agile team working within a rigid organisation is bound to have difficulties, just like any individual working in an inflexible team. Cooperation among all management levels dominates in these teams, and in decisionmaking process; what is important is not the decisionmaker, but cooperation and providing information for decision-making. A development process involves people of various skills, talents and abilities, working in a close physical environment and adhering the organisational culture. Individuals, environment and culture are tightly interdependent. Teams of up to nine members tend to achieve the highest success rate in agile development. Agile development has proven to be successful in specific, complex, and change-intensive projects. An environment where this approach yields the best results is people-centred and cooperation-centred organisation culture. There is a multitude of developed agile development models, including Extreme Programming (XP), Adaptive Software Development (ASD), Dynamic Systems Development Method (DSDM), Scrum, Feature Driven Development (FDD), Agile Modelling (AM) etc. All of these are based on agile principles, but, at the same time, highly mutually different when it comes to the manner of realising the software development process. 4. CONCLUSION Any development project, including software development projects, is based on the holy trinity of successful project implementation, meaning: satisfying user requirements, carrying out the project within the allocated budget and planned time. If any of these requirements is not met, the project is not considered to be completed successfully. The evolution of development model has been progressing, and is likely 171 to keep progressing, towards diminishing project failure risks and minimising project maintenance costs. Historically, viewed through development models, the characteristic of progress has always been in direct correlation with reducing the risk of software error occurrence, cutting error removal costs, and cutting software maintenance costs. The first attempts, based on SDLC, were reduced to the need for establishing order in the software development process, establishing the order of activities and output results, and placing these in the function of the subsequent development phases. This was a way to significantly reduce error occurrence risk. Establishing order certainly also contributed to cost-cutting in error elimination, as well as maintenance cost reduction. Technical and technological process and growth in expectations materialised in new types of user requirements opened new requirements and initiated further evolution of development models. The solution was sought in introducing a general iterative principle, which resulted in raised users importance and their involvement in the development process. Iterativity in all development phases is achieved by deploying the content of the development project into another dimension in relation to time, and establishing iterations as early as the problem domain. In addition to the overall iterative principle, the latter changes also included dynamism into the development process, considering changes in requirements occurring both in the development and the maintenance phase. For the purpose of achieving dynamics, project hierarchy was significantly reduced, and the concept of self-organising teams was introduced. Further avenues of model development should be sought in primarily in meeting user requirements initiated by technical and technological progress. Due to corporate dynamics, the significance of users in the development process will keep growing to reach the status of users as full and equal members of development team. Adherence to the iterative principle will lead to further atomisation of the problem, which is already seen through the web service based development principles. Future development model solutions should be sought in optimum combination of general development principles established in the already existing models, in accordance with the newlyarisen environment requirements. As it can be seen from the text above, the development has had a predominantly evolutional character so far. Such a development trend is to be expected in future as well, meaning that future solutions will still be based solely on past achievements. 5. REFERENCES [1] (accessed: 12.July 2010) [2] Royce, W. W. (1970), Managing the Development of Large Software Systems: Concepts and Techniques In: Technical Papers of Western Electronic Show and Convention (WesCon), Los Angeles, USA. [3] Rama Mohan Reddy A., Govindarajuku P. and Naidu M. M. (2007), A Process Model for Software Architecture, IJCSNS
10 172 Matković, P., Tumbas, P. International Journal of Computer Science and Network Security, Vol.7, No. 4, pp [4] McConnell, S. (1995), Rapid Development, Microsoft Press, Redmond, Washington, USA. [5] Pressman, R. (1994), Software Engineering, McGraw Hill, Berkshire, England. [6] Boehm, B. W. (1988), "A Spiral Model of Software Development and Enhancement", IEEE Computer, Vol. 21, No. 5, pp [7] Rational Team (2005), Rational Unified Process V7.0, IBM Rational. [8] Microsoft Team (2004), Microsoft Solution Framework White Papers, Microsoft. [9] Pressman, R. (2005) Software Engineering,McGraw Hill, Berkshire, England. [10] Sommerville, I. (2007), Software Engineering, Pearson, Essex, England. [11] Craig Larman and Victor Basili R. (2003), Iterative and Incremental Development: A Brief History, IEEE Computer, Vol. 36, No. 6, pp [12] (accessed: 12.November 2010)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
The most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
The Specifics of WEB Project Management
Mirjana Marić, Zoran Ćirić The Specifics of WEB Project Management Article Info:, Vol. 8 (2013), No. 2, pp. 008-012 Received 25 February 2013 Accepted 20 April 2013 UDC 005:004.738.5 Summary According
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
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
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
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
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
Information Global Marketing Management
Information Global Marketing Management Article Info:, Vol. 5 (2010), No. 2, pp. 003-007 Received 10 February 2010 Accepted 29 September 2010 UDC 005.21 ; 658.8 Summary Global marketing management needs
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
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar [email protected] School of Computer and Information Science University of South Australia,
I219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu [email protected] Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
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
Hamid Faridani ([email protected]) March 2011
Hamid Faridani ([email protected]) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology
CHAPTER 3 : AGILE METHODOLOGIES 3.1Introductions 3.2 Main Stages in Agile project 3.3 Various Agile Software development methodologies 3.4 Advantage and Disadvantage of Agile Methodology 3.1Introductions
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, [email protected] 2 Faculty
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.
A Review of Risk Management in Different Software Development Methodologies
A Review of Risk Management in Different Software Development Methodologies Haneen Hijazi Hashemite University Zarqa, Jordan Thair Khdour Al Balqa Applied University Salt, Jordan Abdulsalam Alarabeyyat
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
(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
6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.
6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.
Redesigned Framework and Approach for IT Project Management
Vol. 5 No. 3, July, 2011 Redesigned Framework and Approach for IT Project Management Champa Hewagamage 1, K. P. Hewagamage 2 1 Department of Information Technology, Faculty of Management Studies and Commerce,
Software Development Life Cycle & Process Models
Volume 1, Issue 1 ISSN: 2320-5288 International Journal of Engineering Technology & Management Research Journal homepage: www.ijetmr.org Software Development Life Cycle & Process Models Paritosh Deore
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
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
RUP for Software Development Projects
RUP for Software Development Projects George Merguerian www.bmc-online.com 1 Specialists in Global Project Management Brussels Frankfurt Houston Istanbul Milan Ottawa Shanghai Singapore Warsaw Washington
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
software studio software development processes Daniel Jackson
software studio software development processes Daniel Jackson 1 One of the planning documents for software research revealed --in a parenthetical remark only-- an unchallenged tacit assumption by referring
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.
Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT
Evolving Ideas Computing, Communication and Networking Publish by Global Vision Publishing House Edited by Jeetendra Pande Nihar Ranjan Pande Deep Chandra Joshi Requirements Analysis (RA): An Analytical
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
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
Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
Software Development Life Cycle
4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...
Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
How To Understand The Software Process
Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team
An Assessment between Software Development Life Cycle Models of Software Engineering
International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering
Software Project Management using an Iterative Lifecycle Model
Software Corporation Software Project Management using an Iterative Lifecycle Model 1 Objectives of this Presentation To understand what the Unified Process is To understand the iterative lifecycle approach
ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) ANALYTICAL COMPARISON AND SURVEY ON TRADITIONAL AND AGILE METHODOLOGY Sujit Kumar Dora 1 and Pushkar Dubey 2 1 Programmer, Computer Science & Engineering, Padmashree
CSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005
Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
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
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
Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer
Software Development Life Cycle at SSPL An Summary of Methodologies We Offer 10/29/2009 Table of Contents The SSPL Advantage... 2 Commonly Used SDLC Models at SSPL... 2 Waterfall Model... 2 Agile Model...
Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.
Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Comparative Analysis
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
BUSINESS INTELLIGENCE AS SUPPORT TO KNOWLEDGE MANAGEMENT
ISSN 1804-0519 (Print), ISSN 1804-0527 (Online) www.academicpublishingplatforms.com BUSINESS INTELLIGENCE AS SUPPORT TO KNOWLEDGE MANAGEMENT JELICA TRNINIĆ, JOVICA ĐURKOVIĆ, LAZAR RAKOVIĆ Faculty of Economics
Agile vs Traditional Methodologies in Developing Information Systems
Agile vs Traditional Methodologies in Developing Information Systems Pere Tumbas Predrag Matković University of Novi Sad Faculty of Economics Subotica Serbia Agile vs Traditional Methodologies in Developing
Abstract. 1 Introduction
Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both
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-
How To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY
N ft n il Ionel CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY The Academy of Economic Studies Bucharest, Management Faculty, 6 Romana Square, Sector 1, Bucharest, Management Chair, E-mail:
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
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
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
AGILE SOFTWARE DEVELOPMENT A TECHNIQUE
AGILE SOFTWARE DEVELOPMENT A TECHNIQUE Saurav Tiwari 1,Aasheesh Goel 2,Rajeev Sharma 3 1,2 Research Scholar,MCADept.,SRM University,NCRCampus,Modinagar 3 Asst. Prof.,MCADept.,SRM University,NCR Campus
Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)
Lifecycle Planning Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart) Version 1.4 David Root, 2005, all rights reserved 1 Topics Who am I to
The traditional project management uses conventional methods in software project management process.
Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of
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
An Approach for assessing the Quality of Software for small and medium sized firms
An Approach for assessing the Quality of Software for small and medium sized firms N. Veeranjaneyulu Associate Professor, School of Computing, Vignan University, Vadlamudi, India 1 Abstract: Software quality
A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development
Third 21st CAF Conference at Harvard, in Boston, USA. September 2015, Vol. 6, Nr. 1 ISSN: 2330-1236 A Software Project Management Innovation (SPM) Methodology: A vel Method for Agile Software Development
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
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,
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
Lifecycle Models: Waterfall / Spiral / EVO
Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software
SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
Test Cases Design for Software Database Provisioning Development
Test Cases Design for Software Database Provisioning Development Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, South Korea [email protected] Abstract This paper
Alternative Development Methodologies
Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a
Why process models? Topic 3 Software process models. 3. Process models. What is a process model?
Why process models? Topic 3 Software process models SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software... (IEEE Standard
The Role of Information Technology Studies in Software Product Quality Improvement
The Role of Information Technology Studies in Software Product Quality Improvement RUDITE CEVERE, Dr.sc.comp., Professor Faculty of Information Technologies SANDRA SPROGE, Dr.sc.ing., Head of Department
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
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
Software Development Process Selection Approaches
The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department
Evolving a New Software Development Life Cycle Model SDLC-2013 with Client Satisfaction
International Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Volume-3, Issue-1, March 2013 Evolving a New Software Development Life Cycle Model SDLC-2013 with Client Satisfaction Naresh
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
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
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
PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)
PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3) 1st February 2006 Version 1.0 1 P3M3 Version 1.0 The OGC logo is a Registered Trade Mark of the Office of Government Commerce This is a Value
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
A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios
ISSN: 2321-7782 (Online) Volume 1, Issue 5, October 2013 International Journal of Advance Research in Computer Science and Management Studies Research Paper Available online at: www.ijarcsms.com A Comparative
Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson
Development Methodologies Development Methodologies Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson [email protected] http://www.inf.ed.ac.uk/ssp/members/dave.htm
Applying Agile Methods in Rapidly Changing Environments
Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen
Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study
Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology [email protected] Stefan Heil Capgemini Consulting Austria
Software Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
Agile Processes and Methodologies: A Conceptual Study
Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida [email protected] Darothi Sarkar Amity School of Engineering &
A Methodology for the Development of New Telecommunications Services
A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford
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
Introduction to Software Paradigms & Procedural Programming Paradigm
Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,
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
Agile Software Development Methodologies & Correlation with Employability Skills
Agile Software Development Methodologies & Correlation with Employability Skills Dineshkumar Lohiya School of Computer and Information Science University of South Australia, Adelaide [email protected]
