Enterprise Systems Development: Impact of Various Software

Size: px
Start display at page:

Download "Enterprise Systems Development: Impact of Various Software"

Transcription

1 Enterprise Systems Development: Impact of Various Software Development Methodologies 1 Deepak Dahiya, 2 Pooja Jain 1 Department of CSE & IT Jaypee University of Information Technology, Solan, Indiadeepak.d@acm.org 2 Pooja Jain Department of CSE & IT Jaypee University of Information Technology, Solan, India poojaalld@yahoo.com doi: /ijact.vol2.issue4.8 Abstract Software Development Methodologies have always been the main focus in the software development life cycle of any project. Each evolutionary shift introduced new ways of thinking and viewing problems as well as introducing strengths and weaknesses in software development. However, identifying one stop solution in terms of a software development methodology for enterprise wide application development whose various sub-components or sub-stages can be best used to describe a software development scenario is still an evolving domain. This, coupled with the reality that computer science and its allied areas like information systems and information technology domains are moving forward rapidly with regards to available technologies, making it extremely difficult task for practitioners to maintain pace with the available information technologies and their application in various domains. It is to address these scenarios and probabilities that this research paper examines various software development methodologies or process models and their impact on the overall software development life cycle. 1. Introduction. Keywords: Software, Development, Methodology, Agile, Iterative, Paradigm Software Development Methodologies have always been the main focus during the software development life cycle of any project. Over the past 40 years, there have been significant paradigm shifts in software development, such as structured programming, object oriented programming and now Extreme programming and Aspect Oriented Programming. Each evolutionary shift introduced new ways to thinking and viewing problems as well as introducing strengths and weaknesses in software development. In the initial days of software development the idea of software development would not have been as documented or structured as it is done in today s software environment. In current times, the presence of software development projects without applying any kind of software development methodology presents a high probability of project failure [1]. Although we are applying software development life cycle with increased frequency to most development projects today as compared to the initial years, we are still plagued with these high failure rates. Software development can be described by the software community as a complex undertaking in ideal conditions; an undertaking that finds itself continuously at risk from internal and / or external factors which can have a significant impact on the successful completion of the project. With the maturing of the software industry, positive changes are becoming more and more visible in the various parameters like project success / failure rates, project cost overruns. This fact is no better substantiated by the Standish Group Chaos report. According to the 2009 Standish Group report, it shows more project failing and less successful projects. In other words, as per the Standish Group Report s "CHAOS Summary 2009, "This year's results show a marked decrease in project success rates, with 32% of all projects succeeding which are delivered on time, on budget, with required features and functions.[2]. In other words, current software development methodologies do provide a variety of options from which software developers may chose when tasked with matching system 77

2 International Journal of Advancements in Computing Technology Volume 2, Number 4, October 2010 functionality with suitable development methodology. However, identifying one stop option in terms of a software development methodology for enterprise wide application development whose various subcomponents or sub-stages can be best used to describe a software development scenario is still an evolving domain. With the domain still in the stage of infancy, to date, best practices have not been ascertained. This, coupled with the reality that computer science and its allied areas like information systems and information technology domains are moving forward rapidly with regards to available technologies, making it extremely difficult task for practitioners to maintain pace or tempo with the available information technologies and their application in various domains. It is to address these scenarios and probabilities that this research paper examines various software development methodologies or process models and their impact on the various software development life cycle stages. The research methodology consisted of the following stages: Conducting literature and web survey, Extensive study of concepts, tools, technologies, empirical study and market relevance Analyze current state of practice and general architecture Implementation of Learning Resources System (LRS) project prototype, and finally, Prototype integration into a broader Problem domain under study / implementation. The aim of the outcome of the research work is primarily to document the relevance of current practices in software development methodologies and explore the viability of a unified software development methodology for the LRS project which will then be generalized for any domain independent enterprise application. In other words, the influence(s) that the LRS software development life cycle may impose on a given software development methodology and its implications in turn on the implementation of enterprise applications are also explored and the path to future work is highlighted. The significance of this research work can be gauged from the fact that today there are so many processes / methodologies that are being used in the IT industry that the businesses may find it difficult to integrate them with their current or future business strategy. A single unified one stop solution towards enterprise software development will serve as the right input at this juncture. 2. Background. Software-development life-cycle methodologies provide the what (processes and deliverables), how (techniques), and who (roles) for every typical role in a software-development project, such as solution architects, business consultants, and developers. Over the years, the software industry has matured to a great extent in terms of the methodologies used. Today, the industry has quite a number of established and proven software-development methodologies that cater to different kinds of project life cycles. Evolution of some of the common software development methodologies currently in use is as follows: 1970s - Structured programming since 1969 [3] 1980s - Structured Systems Analysis and Design Methodology (SSADM) from 1980 onwards [4] 1990s Object-oriented programming (OOP) has been developed since the early 1960s, and developed as the dominant programming methodology during the mid-1990s [5]. Rapid application development (RAD) since 1991 [6]. Scrum (development), since the late 1990s [7]. Team software process developed by Watts Humphrey at the SEI [8, 22]. 2000s Extreme Programming since 1999 (Agile Software Development) [9]. Rational Unified Process (RUP) since 2003 [10]. 78

3 Agile Unified Process (AUP) since 2005 by Scott Ambler [11-12]. To use these methodologies effectively, it is important to follow the processes defined in the methodologies in a consistent manner across all projects. Following the software-development processes in a consistent and accurate manner is a challenging task because: Software-development processes are complex, involving many levels of interdependent activities. Most of the processes and methodologies are available as reference documents only. It is difficult for practitioners to learn the exact processes from the document references and follow them in their projects. Practitioners follow the processes manually and submit the required data into various life-cycle tools that do not have much integration with the engineering tools. The life-cycle tools could be isolated tools for project management, requirement management, bug tracking, or review management, whereas the engineering tools could be separate tools for activities such as designing, coding, testing, or Integrated Development Environments (IDE). These different sets of tools make it difficult to have a consistent methodology implementation across multiple projects, and generate inconsistent data and reports in the organization. Inconsistency makes the process analysis unreliable, thus making it difficult to identify the process improvements. Also, as the processes are followed manually, data collection and reporting become manual tasks, which results in lower productivity and delivery efficiency. Software development methodologies are complex processes that are simultaneously resilient and fragile; software development life cycle and its management has the potential of impacting software methodologies negatively hence potentially compromising the positive delivery of a sound software product. Methodologies themselves provide diverse approaches to resolve the requirements of a particular process. When looking at their respective theoretical models, although diverse, a common thread is woven among them. Whether it is a historically long standing methodology or a new innovative methodology, all have an identical goal in the end, to provide a solid, i.e., fault free, software product that meets the client s stated or determined requirements. 3. Related Work. One of the oldest software development tools is flowcharting, which developed since the 1920s. The software development methodology has emerged since the 1960s. The oldest formalized methodology for building information systems is the Systems development life cycle. The traditional Systems development life cycle originated in the 1960s to develop large scale functional business systems in an age of large scale business conglomerates. Information systems activities resolved around heavy data processing and number crunching routines. [3] Software development approaches. Every software development methodology has more or less its own approach to software development. There is a set of more general approaches, which are developed into several specific methodologies. These approaches are [1]: Waterfall: linear framework type Prototyping: iterative framework type Incremental: combination of linear and iterative framework type Spiral: combination linear and iterative framework type Rapid Application Development (RAD): Iterative Framework Type Waterfall model : The waterfall model is a sequential development process, in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, 79

4 International Journal of Advancements in Computing Technology Volume 2, Number 4, October 2010 design, implementation, testing (validation), integration, and maintenance. The first formal description of the waterfall model is often cited to be an article published by Winston W. Royce [13] in 1970 although Royce did not use the term "waterfall" in this article. Figure 1. Waterfall Model The disadvantage of waterfall model is that it is rigid in responding to changes in the requirement that occur later in the various phases of the software development life cycle [14]. Prototyping : Software prototyping, is the framework of activities during software development of creating prototypes, i.e., incomplete versions of the software program being developed[15]. Not a standalone, complete development methodology handling selected portions of a larger, more traditional development methodology Incremental, Spiral, or Rapid Application Development (RAD). It improves both user participation in system development and communication among project stake holders. However, approval process and control is not strict. Further, software prototyping can lead to poorly designed systems. Figure 2. Prototype Model The problem with prototyping approach is that it can lead to false expectations, where the customer mistakenly believes that the system is finished when in fact it is no but is not truly functional [14]. Incremental : Various methods are acceptable for combining linear and iterative systems development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. Moderate control is maintained over the life of the project through the use of written documentation and the formal review and approval / signoff by the user and technology management at designated major milestones. Stakeholders can be given concrete evidence of project status throughout the life cycle. The weakness of this model is that since some modules will be completed much earlier than others, welldefined interfaces are required. Also difficult problems tend to be pushed to the future to demonstrate early success to management. [16] The disadvantage of Incremental approach is that in this difficult problems tend to be pushed to the future to demonstrate early success to management [14]. 80

5 Spiral : The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Focus is on risk management [17]. Weaknesses include there are no established controls for moving from one cycle to another cycle. Without controls, each cycle may generate more work for the nest cycle. Further, there are no firm deadlines. Cycles continue with no clear termination condition, so there is an inherent risk of not meeting budget or schedule. Spiral model is most appropriate for situations where real-time or safetycritical systems are used or where risk avoidance is a high priority. Figure 3. Spiral Model The major problem with sprial model is that it is highly customized to each project and thus is quite complex, limiting reusability [14]. Rapid Application Development (RAD) : Rapid Application Development (RAD) is a software development methodology, which involves iterative development and the construction of prototypes. Rapid application development is a term originally used to describe a software development process introduced by James Martin in Basic key objective is for fast development and delivery of a high quality system at a relatively low investment cost. RAD attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. Here, the key emphasis is on fulfilling the business need, while technological or engineering excellence is of lesser importance. Disadvantage of RAD is that more speed and lower cost may lead to lower overall system quality. Further, project may end up with more requirements than needed [14]. RAD also suffers from the same problem that incremental model suffers i.e. the tendency for difficult problems to be pushed to the future to demonstrate early success to management Current Software Development Approaches. Rational Unified Process (RUP) is an iterative software development methodology approach, based on UML. RUP organizes the development of software into four phases, each consisting of one or more executable iterations of the software at that stage of development: Inception, Elaboration, Construction, and Guidelines. There are a number of tools and products available designed to facilitate RUP implementation [18]. Agile Software Development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between selforganizing cross-functional teams. The term was coined in the year 2001 when the Agile Manifesto was formulated [19]. Aspect Oriented Software Development: Iterative Framework Type [20]. Ofcourse, many of the new generation software methodologies the Agile Process also has found applications in the OMG promoted Model Driven Architecture (MDA) framework [21-22]. a) Knowledge management systems enabling sofware development process 81

6 International Journal of Advancements in Computing Technology Volume 2, Number 4, October 2010 The software industry is resource-oriented and it becomes quite important to ensure that knowledge in the minds of resources is safeguarded. It is found that, while 26 per cent of knowledge in the average organization is stored on paper and 20 per cent digitally, an astonishing 42 per cent is stored in employees' heads. There have been many instances where the learning and knowledge is lost when resources move to newer roles, or leave the organization. Knowledge is invisible and is tied up in customer relationships. It is linked to the ratio of experienced to junior employees. KM assists in getting the right knowledge to the right person as fast as possible and assists in retaining customers. The most difficult part in implementing KM is not the technology. It is to understand where knowledge resides within the organization [31]. b) The Need for Capturing and Sharing Process and Product Knowledge Knowledge Management addresses the issues of capturing and sharing knowledge, while the problems of project diversity and product singularity make it clear that such a system must be flexible enough to encompass variations on the same theme. Most artifacts guiding a software project and developed during a software project can be represented as documents. Therefore, these are the main explicit assets of the software organization. These assets directly support the core business and must be managed so that they do not get lost. The problem of transferring knowledge from experts to novices is facilitated if the knowledge is readily captured, stored, and organized, possibly as documents [32]. c) The Need for Acquiring Knowledge about New Technologies Knowledge Management fosters a knowledge sharing culture within the company that helps facilitate sharing of knowledge related to new technologies. Knowledge Management also makes the point that time should be spent on actively searching for knowledge both within the organization and outside. Knowledge sharing occurs within communities of practice and interests, which can help speed up the learning curve. d) The Need for Knowing Who Knows What Knowledge Management can never tap the brains of the employees, but it can help build structures and frameworks for capturing key information that can help retain some knowledge when employees leave. This key information would at least help in understanding what the employee who left knew and what profile his successor needs to have to fill the position. Knowledge Management can help establish routines for identifying knowledge, as well as the people who own the knowledge --- the experts. Competence Management, which also aims at identifying gaps in the knowledge structures, is, besides document management, the second cornerstone in our knowledge management model. e) The Need for Distance Collaboration Any larger software development is a group activity. The division of work into phases often means that different groups are involved at the same or different time. Due to globalization, these groups are often spread out geographically and it is common that group members live and work in different time zones. Outsourcing of subsystems to subcontractors also results in geographically co-located teams that need to work together. These groups need to communicate, collaborate, and coordinate independently of time and place. Knowledge Management can help solve this problem as it acknowledges the need to capture, organize and store knowledge, as well as the necessity of knowledge transfer. Communication in software engineering is often related to the transfer of knowledge. Collaboration is related to mutual sharing of knowledge. Coordination that is independent of time and space is facilitated if the work artifacts and their status are stored and made part of an organizational memory. f) Challenges for Knowledge Management in Software Engineering Implementing knowledge management in any organization is a challenge because of the time and effort that is required before it starts to return on the investment. Software organizations seem to have even less time than others because of the fast pace of the business. Another challenge is the elusiveness of software. Unlike products of other domains, software is not visible. Invisibility leads to less reuse of the system. A 82

7 developer, while implementing or modifying a system, cannot find out if the work has already been done. Many times, developers reinvent a system instead of reusing it, and this result in lower productivity. Another result is that software developers are not accustomed to reuse, which is a problem because the idea behind knowledge management is reuse of assets. The most problematic challenge to knowledge management is that most of the knowledge in software engineering is tacit and will never become explicit. It will remain tacit because there is no time to make it explicit. There are very few approaches and tools for turning tacit knowledge into explicit knowledge, and most of the tacit knowledge is tacit in the most extreme way. Therefore, it is difficult to express and make explicit. A way to address this problem can be to develop a knowledge sharing culture, as well as technology support for knowledge management, never forgetting that the main asset of the organization is its employees. In order to produce quality software, software organizations are trying to better use one of its most important resource: the organizational software engineering knowledge. In the context of software development, KM can be used to capture the knowledge and experience generated during the software process. Reusing knowledge can prevent the repetition of past failures and guide the solution of recurrent problems. Also, we cannot forget that collaboration is one of the most important knowledge sources for software organizations [30]. To support the knowledge management process in a SEE, a KM infrastructure should be provided. The corporate or organizational memory (OM) must be at the core of this infrastructure, supporting knowledge sharing and reuse. Arranged around the OM, knowledge management services shall actively provide useful information to users working on knowledge-intensive tasks [29]. These knowledge management services correspond to the activities of the knowledge management process: creation, capture, retrieval, access, dissemination, use, and preservation of the organization s knowledge, as shown in Figure 4. Figure 4. Knowledge management infrastructure The primary requirement for an OM is to prevent the loss and enhance the accessibility to organizational knowledge by providing a centralized, well-structured knowledge repository. Since workers are often too busy to look for information or do not even know that relevant information exists, proactive services must be provided, actively reminding workers of helpful knowledge. Thus, knowledge distribution may be passive or active, as either the user can search for the required information, or the KM system itself can offer knowledge that seems relevant to the user s task. To gain user acceptance, a KM system must be integrated into the organization s process, allowing collecting and storing relevant knowledge as they are generated in the work. Consequently, it should be also integrated to the existing work environment [29]. The KM system is to be an assistant to the user, supplying him with relevant organizational knowledge, but leaving him the responsibility of a contextual interpretation and evaluation of this information. In this context, to keep an OM up to date, it is important to get feedback from its users, who must be enabled to point out deficiencies and suggest improvements without significantly disrupting their usual workflow. Therefore, user feedback is essential for OM maintenance and evolution. 4. Case Study: Learning Resources Center (LRC) Project We now look at a prototype application problem that demonstrates implementation of the above methodologies for a learning resource center that provides services to its customers in the form of 83

8 International Journal of Advancements in Computing Technology Volume 2, Number 4, October 2010 periodicals, books, newsletters and magazines. This learning resource center library has various resources (books) of which all copies are located in the same room and shelf. An Information officer handles the maintenance of the association between these resources and their locations. The Information officer also maintains an up-to-date view of the lending status of copies of books, periodicals and journals Functional Decomposition Based on the problem definition above the following types of services will be required: Finding resources on a topic: A search operation that takes partial or incomplete description of the resources and lists accurate matches in the form of books or journals. Getting list of Journals: A search service that lists all the journal issues for a particular publishing month (quarterly / bi-monthly etc). The user will be able to filter the selections based on the criteria specified regarding the journal details. Upcoming Issues: This will list the future issues for publication and the issue month. Authentication: Before providing any kind of services the application needs to verify the credentials (username and password) to it. Logging: A logging function requirement to keep track of the calls made to the the web services. These kind of features are useful to track the preferences of cardholders and resources in demand type of statistics from within the application. The fig. 4 below shows the functional decomposition diagram for the LRC prototype. Figure 5. Functional Decomposition diagram for LRC Requirements & Design: Software Methodology Selection for LRC Project Further, for each of the methodologies that was followed at the requirements and design stage, the following conclusions listed in table 1 below were drawn: Table 1. Comparison of general software development methodologies Parameter Waterfall Prototyping Incremental Spiral RAD Development Sequential + Sequential + Sequential Iterative Iterative type Iterative Iterative Flexible Control Rigid Flexible Flexible Flexible Most Appropriate for Least Appropriate for Strengths Mainframe Web Software development Small to Medium Mainframe Encourages innovation and Web Interactive Customers involved at all Real-time Low Risk priority Promotes risk control and can Small Real-time Can be modified 84

9 Weaknesses measurable and Conserve resources Inflexible and excessive documentation quick to implement False customer expectations and may lead to poor design stages and quick to implement Difficult implementation issues delayed include other methodologies No firm deadlines and may end up waterfall model like rapidly and close to implementation at every stage No firm deadlines and Difficult implementation issues delayed Due to the various disadvantages of each of the above methodologies (classified in the table as general software development methodologies), it was decided to use one of the widely popular software development approaches namely, i.e., Agile Software Development which subscribes to Test Code Test approach Implementation: LRC Project. Based on the above functional decomposition, an prototype implementation was carried out using Java Server Pages (JSP), Servlets, Java Beans, Java Enterprise Edition (Java EE) [24], JUnit [25], HSQLDB Database [26], and Tomcat Web Server [27] under Eclipse platform [28]. For carrying out code tests, JUnit framework was used. In addition to these tools, various other tools available as Eclipse Plug-ins [29] like DbVisualizer, UML tool and others were installed as and when required in various phases of the project implementation. Shown below in fig. 5 and fig. 6 are snapshots of the prototype implementation under Eclipse platform. Figure 6. LRC database query Implementation on Eclipse platform Figure 7. JSP Client Implementation for LRC project 85

10 5. Observations and Results. International Journal of Advancements in Computing Technology Volume 2, Number 4, October 2010 To summarize, there is no single software development methodology that can meet all the needs of all the stakeholders. This has resulted in the evolution of number variant methodologies as the tools and technologies matured. They also evolved from the experiences the software developers, architects, designers and business analyst shared at different forums. Some of the popular methodologies that evolved and are currently the choice of the software industry and are used for software development are Rational Unified Process, Agile Process and Aspect Oriented Methodology. Based on the study of various software development methodologies carried out at various stages of the LRC prototype implementation namely, analysis, design and implementation as identified in section 4 above, the following inferences were drawn as shown in the table 2 below: Table 2. Relevance of various software development methodologies Methodology Relevance Waterfall Suitable for Legacy applications in use today Prototyping Suitable for quick deploy application for in-house environment Incremental Suitable for small web applications Spiral More suited for Real-time applications RAD More suited for Real-time applications Agile Very much relevant to today s Web / Distributed setup in today s business environment 6. Conclusion. As we move towards a global economy, so are our software development efforts. Therefore, understanding the impacts on software development methodology on enterprise software development is an important milestone and an important step towards mastering and adopting the right techniques and their productive relevance towards their integration in any future business strategy in the IT industry relying on the various business domain segments. Significance of this work can be gauged from the fact that today there are so many processes / methodologies that are being used in the industry that the businesses may find it difficult to decide, implement and integrate these software methodologies for any future business strategic plan. A single one stop window will serve as the right input at this juncture. 7. Future Work. Future work in this direction will now encompass doing a comparative analysis of the current software architecture and component frameworks based on current software methodologies like agile methodology and Aspect Oriented methodology. This will involve implementation based on the Java programming language, Java Enterprise Environment (Java EE) and related web engineering tools and technologies.relevant for a distributed environment. 8. References. [1] R. Pressman, Software Engineering: A Practitioner s Approach, 6 th Edition, McGraw publishing, [2] Standish Group Report, last accessed Feb 03, [3] Edsger Dijkstra, Notes on Structured programming, last accessed Feb 13, [4] C.M. Ashworth, Using SSADM to specify Requirements, IEEE Proceedings, [5] Bjarne Stroustrup, The C++ programming language, special edition, 3 rd Edition, Addison-Wesley, [6] Gerry Coleman and Renaat Verbruggen, A Quality Software Process for Rapid Application Development, Software Quality Journal, Springer Netherlands, Vol. 7, No. 2, July 1998, pp

11 [7] Jeff Sutherland, Future of Scrum: Parallel Pipelining of Spirits in Complex Projects, IEEE Proceedings of the Agile Development Conference, 2005, MA, US, pp [8] last accessed Feb 03, [9] Scott Ambler. Last Accesses on April 03, [10] A Rational Software Corporation white paper. IBM. Rational Unified Process: Best practices for software development teams. Accessed on Feb 01, [11] Georges Gauthier Merx & Ronald J. Norman (2006). Unified Software Engineering with Java. p.201. [12] Accessed Feb 13, 2010 [13] Winston W. Royce. Managing the Development of large software systems, IEEE Proceedings, (IEEE WESCON), (August 1970), pp [14] SELECTING A DEVELOPMENT APPROACH. Retrieved 27 April [15] L. Bernstein. Get the design right [software prototyping], IEEE Software, Sep pp [16] Barry Boehm and Jo Ann Lane. Using the Incremental Commitment Model to Achieve Successful System Development, Last accessed on April 23, [17] Barry W. Boehm. A Spiral Model of Software Development and Enhancement, IEEE Computer (May 1988), pp [18] Last accessed Feb 07, [19] Last accessed Feb 11, [20] Zhang, C. and Jacobsen, H. A. Towards just in-time middleware architectures. In proceedings of the 2 nd International Conference on Aspect Oriented software development p ISBN [21] Jon Siegel, Why use the model driven architecture to design and build distributed applications, IEEE Proceedings of the 27 th International Conference on Software Engineering, St. Louis, MO, USA, pp [22] Last accessed Feb 12, [23] Watts S. Humphrey, Introduction to the team software process, Addison-Wesley Longman Ltd., Essex, UK, ISBN: X, [24] Last accessed on Feb 10, [25] Last accessed on Feb 11, [26] Last accessed on Feb 11, [27] Last accessed on Feb 13, [28] Last accessed on Feb 14, [29] A.C.C. Natali, R.A. Falbo, Knowledge Management in Software Engineering Environments, In: proceedings of the XVI Brazilian Symposium on Software Engineering - SBES'2002, , Gramado, Brazil, October [30] S. Staab, R. Studer, H.P. Schurr, Y. Sure, Knowledge Processes and Ontologies, IEEE Intelligent Systems, January/February, Vol. 16, No. 1, [31] Knowledge Management for Software Companies by Mohan Srinivasan, Advisory Project Manager IBM Global Services India Pvt. Ltd. Bangalore, India [32] Knowledge Management in Software Engineering A State-of-the-Art-Report Prepared for: Mr. Paul M. Engelhart Air Force Research Laboratory Information Directorate/IFED 87

Test Cases Design for Software Database Provisioning Development

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 sunguk@rist.re.kr Abstract This paper

More information

CS4507 Advanced Software Engineering

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

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

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

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

COMP 354 Introduction to Software Engineering

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: gregb@cs.concordia.ca Winter 2015 Course

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

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

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

SELECTING A DEVELOPMENT APPROACH Original Issuance: February 17, 2005 Revalidated: March 27, 2008

SELECTING A DEVELOPMENT APPROACH Original Issuance: February 17, 2005 Revalidated: March 27, 2008 SELECTING A DEVELOPMENT APPROACH Original Issuance: February 17, 2005 Revalidated: March 27, 2008 Introduction A system development methodology refers to the framework that is used to structure, plan,

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

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

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software

More information

How To Design An Information System

How To Design An Information System Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

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

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

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

More information

Development Methodologies

Development Methodologies Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies

More information

Software Lifecycles Models

Software Lifecycles Models Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today s Lecture Modeling the software life cycle Sequential

More information

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

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

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

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

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

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

A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING

A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING Mr. Ashish Kumar Gupta Assistant Professor, Dept. of C.S.E., I.T.S. Engineering College, Greater Noida,

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

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

The most suitable system methodology for the proposed system is drawn out.

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.

More information

Alternative Development Methodologies

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

More information

Web Application Development Processes: Requirements, Demands and Challenges

Web Application Development Processes: Requirements, Demands and Challenges Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,

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

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

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

More information

White Paper IT Methodology Overview & Context

White Paper IT Methodology Overview & Context White Paper IT Methodology Overview & Context IT Methodologies - Delivery Models From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the

More information

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant

More information

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

More information

SOFTWARE PROCESS MODELS

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

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

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

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

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

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

More information

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

More information

Scaling Down Large Projects to Meet the Agile Sweet Spot

Scaling Down Large Projects to Meet the Agile Sweet Spot Scaling Down Large Projects to Meet the Agile Sweet Spot Philippe Kruchten Kruchten Engineering Services Ltd Presenter Philippe Kruchten, Ph. D., P. Eng. KESL 2906 West 37 th avenue Vancouver BC V5Z 2M9

More information

Agile Unified Process

Agile Unified Process INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND MOBILE APPLICATIONS - IJCSMA Agile Unified Process Charles Edeki Ph.D, American Intercontinental University, Department of Information Technology, 160 Parkside

More information

WHY THE WATERFALL MODEL DOESN T WORK

WHY THE WATERFALL MODEL DOESN T WORK Chapter 2 WHY THE WATERFALL MODEL DOESN T WORK M oving an enterprise to agile methods is a serious undertaking because most assumptions about method, organization, best practices, and even company culture

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Software Development Processes. Software Life-Cycle Models

Software Development Processes. Software Life-Cycle Models 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

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

Chapter 8 Approaches to System Development

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

More information

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing. Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

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

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise

More information

Software Process and Models

Software Process and Models Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: A Comparative Analysis of Different types of Models in Software

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, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.

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

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY www.abhinavjournal.com

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

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT

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

More information

Agile Framework for Globally Distributed Development Environment (The DAD Model)

Agile Framework for Globally Distributed Development Environment (The DAD Model) Agile Framework for Globally Distributed Development Environment (The DAD Model) REHAN AKBAR, MUHAMMAD HARIS, MAJID NAEEM Department of Computer Science GC University, Lahore Pakistan. rehankb@yahoo.com

More information

Software Development Life Cycle (SDLC)

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

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

Review of Software Development Methodologies Used in Software Design

Review of Software Development Methodologies Used in Software Design ISSN 2278-3091 Volume 3, No.5, September - October 2014 Er. Sheilly Padda et al., International Journal of Advanced Trends in Computer Science and Engineering, 3(5), September-October 2014, 88-93 International

More information

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus

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

Corso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011. Development Processes 1 / 51

Corso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011. Development Processes 1 / 51 Software development process A software development process is a structure imposed on the development of a software product Software development activities Requirements analysis The important task in creating

More information

How To Scale Agile Development With Knowledge Management

How To Scale Agile Development With Knowledge Management Managing Knowledge in Development of Agile Software Mohammed Abdul Bari Department of Computer Science, College of Science & Arts University of Al-Kharj Wadi Al-Dawasir-11991, Kingdom of Saudi Arabia Dr.

More information

Applying Agile Methods in Rapidly Changing Environments

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

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

How To Understand The Software Process

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

More information

CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY

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:

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

Abstract. 1 Introduction

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

More information

The Spiral development model is a risk-driven process model generator. It

The Spiral development model is a risk-driven process model generator. It 1.1 Methodology Research 1.1.1 Spiral Model The Spiral development model is a risk-driven process model generator. It is used to guide multi-stakeholder concurrent engineering of software-intensive systems.

More information

An Assessment between Software Development Life Cycle Models of Software Engineering

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

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

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

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

Lifecycle Models: Waterfall / Spiral / EVO

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

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

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 The essence of

More information

A Software process engineering course

A Software process engineering course Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other

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

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

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.

More information

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational

More information

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama xzhang6@una.edu Hua Dai University of Wisconsin-La Crosse dai.hua@uwlax.edu Tao Hu King College thu@king.edu

More information

1. Introduction 1.1 Methodology

1. Introduction 1.1 Methodology Table of Contents 1. Introduction 1.1 Methodology 3 1.2 Purpose 4 1.3 Scope 4 1.4 Definitions, Acronyms and Abbreviations 5 1.5 Tools Used 6 1.6 References 7 1.7 Technologies to be used 7 1.8 Overview

More information

How To Write An Slcm Project Plan

How To Write An Slcm Project Plan SLCM 2003.1 Artifacts in a Nutshell ( as of 01/21/2005) Project Development Phases Pension Benefit Guaranty Corporation s (PBGC) System Life Cycle Methodology (SLCM) is comprised of five project development

More information

Redesigned Framework and Approach for IT Project Management

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,

More information

2.1 The RAD life cycle composes of four stages:

2.1 The RAD life cycle composes of four stages: 2.1 The RAD life cycle composes of four stages: A typical RAD life cycle is composed of the following Stages 2.1.1. Requirements Planning; 2.1.2 User Design; 2.1.3 Rapid Construction; 2.1.4 Transition.

More information

A Comparison of SOA Methodologies Analysis & Design Phases

A Comparison of SOA Methodologies Analysis & Design Phases 202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering

More information

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction

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

Web Application Development Process

Web Application Development Process Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements

More information

Success story. IBM Business Consulting Services and IBM Rational Rapid Developer help legacy developers deliver J2EE applications for state agency

Success story. IBM Business Consulting Services and IBM Rational Rapid Developer help legacy developers deliver J2EE applications for state agency Copyright Rational Software 2003 http://www.rational.com/content/jun_03/f_success.jsp Success story IBM Business Consulting Services and IBM Rational Rapid Developer help legacy developers deliver J2EE

More information

CSE 435 Software Engineering. Sept 16, 2015

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

More information

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS Lisana Universitas Surabaya (UBAYA), Raya Kalirungkut, Surabaya, Indonesia E-Mail: lisana@ubaya.ac.id

More information

A complete software development process of a general report publication service implemented using Web Services

A complete software development process of a general report publication service implemented using Web Services A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30

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