Performance of Ten Software Development Process Models with Principles

Total Page:16

File Type:pdf, Size:1020Kb

Performance of Ten Software Development Process Models with Principles S.Thulasi Krishna et al | IJCSET(www.ijcset.net) | May 2016 | Vol 6, Issue 5, 161-171 Performance of Ten Software Development Process Models with Principles S.Thulasi Krishna M.E., (Ph .D), Dr. S .Sreekanth, Ph.D Research scholar Professor, Rayalaseema University Dept of CSE Kurnool (dist.,) SITAMS,Chittoor(dt), Andhra Pradesh Andhra Pradesh Abstract:- The software development life cycle is very Various processes and methodologies have been developed important in project development. A software process model over the last few decades to improve software quality, with is the basic framework which gives a workflow from one stage varying degrees of success. However, it is widely agreed to the next, for developing any project in efficient manner. that no single approach that will prevent project overruns Now days we have number of process models available but and failures in all cases. Software projects that are large, which one is best model, identification is very difficult. So in this research paper I proposed Ten software development complicated, poorly-specified, and involve unfamiliar process model histories, phases, principles and performance of aspects, are still particularly vulnerable to large, software development chart. This chart explores clear unanticipated problems. A software development process is architecture, behavior of process model and applicability of a structure imposed on the development of a software software development process model for various projects. This product. There are several models for such processes, each is useful for developing projects in short period. describing approaches to a variety of tasks or activities that take place during the process. It aims to be the standard that defines all the tasks required for developing and Keywords:process model, history, phases, process model maintaining software. Software Engineering processes are principles, performance of software development process chart. composed of many activities, notably the following: • Requirements Analysis INTRODUCTION • Specification Software processes performed during software • Software architecture Development and evolution are becoming rather complex and recourse-intensive. They involve people who execute • Implementation actions with the primary goal to create quality software in • Testing accordance with the previously set user requirements and only structured, carefully guided and documented software • Documentation processes can lead to the stated goal. Constant monitoring • Training and Support and improvement of software processes is therefore of a significant interest for organizational performing software • Maintenance development and maintenance. In order to improve the process an objective description and evolution of the Software development teams, taking into account its goals existing process is needed. and the scale of a particular project, and have a number of well-established software development models to choose A software development process, also known as a software from. Therefore, even though there are number of models development life cycle (SDLC), is a structure imposed on each software Development Company adopts the best- the development of a software product. It is often suited model, which facilitates the software development considered as a subset of system development life cycle. process and boosts the productivity of its team members. There are several models for such processes, each There are ten types of Model are: Waterfall model, describing approaches to a variety of activities that take Incremental model, Prototype model, Spiral model, V- place during the process. Software Engineering (SE) is the model, Concurrent engineering model, Agile model, Build application of a systematic, disciplined, quantifiable and fix model. approach to the development, operation, and maintenance of software, and the study of these approaches. 161 S.Thulasi Krishna et al | IJCSET(www.ijcset.net) | May 2016 | Vol 6, Issue 5, 161-171 1. HISTORY OF WATERFALL MODEL WITH PRINCIPLES Maintenance: We always keep eye on the product and provide the entire necessary bug or issue fixes if occurs in History of waterfall model: The formal description of the production or reported by end users. Also time to time we method is often cited as an article published by Winston. keep updated the product with new updates or patches if W. Royce in 1970. developed or available. Water fall model is a sequential development approach, in The basic principles are: which development is seen as flowing steadily downwards though several phases 1. Project is divided into sequential phases, with some overlap and splash back acceptable between phases. Phases 2. Emphasis is on planning, time schedules, target dates Requirement Analysis: budgets and implementation of an entire system at one This is the first phase of development where all the time. requirements Gathered and documented. 3. Thighs control is maintained over the life of the project Design: In this phase all the system design is analyzed and via extensive written documentation, formal reviews, specified like hardware, system configuration and and approval/ signoff by the user and information architecture or the system. technology management occurring at the end of most phases before beginning the next phase. Written Coding: In this phase all the development works are documentation is an explicit deliverable of each phase. performed and development components or units handed over to testing team. 4. Iterate – create a prototype, then the real system. repeat each phases using new information gained and the Test: Once the development completed, testing phase entire process at least once delivering the live system. starts and in this phase we test the each unit or component and make sure the developed components are working as expected. All the testing activities are performed in this phase. APY S/M/L M.N CRF SL A.T A D Applicability Model Cost/Risk/ NO Architecture Advantages Disadvantages Small Medium Name Flexibility Large 1 WATER - Simple and easy - Rigid design and Low Budget FALL Understand inflexible small projects. MODEL --linear sequential procedure[1]. -Un development High-risk step by step - Restricting back’s and of database process forth movement from related software Less Flexibility - Well understood a stage to a former Example Milestones one. When new commercial - Clearly defined requirements surface projects Stages accommodating those - In development - Provide a with existing ones of E- commerce template into become difficult due Website (or) which Methods to restriction in portal for Analysis looping back to prior -In development Design Coding , stages . of network testing. - poor choice for protocol - Easy to Manage software development Software each phase has projects where Water fall model has divided into six specific requirements are not phases: deliverable well known or Requirement - Risk of project understood by Analysis failure is slow development team. Design -Not good for complex Coding projects that take Testing more time to Maintenance complete. The project failure is high - Difficult in responding to changes result to high amount of risk and uncertainly. Table 1 : Performance of Waterfall Model 162 S.Thulasi Krishna et al | IJCSET(www.ijcset.net) | May 2016 | Vol 6, Issue 5, 161-171 2. HISTORY OF INCREMENTAL DEVELOPMENT MODEL Code: Coding of software is done during this stage WITH PRINCIPLES Test: once the system is deployed , it goes through the History of Incremental Process Model: testing phase Iterative and incremental, 1988, the article: The new The basic principles are: product development game “ by Takeuchig nonaka prosed 1. A series of mini- Waterfall are completed for a small [2]. part of a system, before proceeding to the next Different methods are acceptable for combing linear and increment. iterative systems development methodologies, with primary 2. Overall requirements are defined before proceeding for objective of each being to reduce inherent project risk by evolutionary, Mini – waterfall development of breaking a project into smaller segments and providing individual increments of a system. more ease - of – change during the development process. 3. The initial software concept, requirements analysis, Phases and design of architecture and system are defined via Requirement Analysis: Requirement and specification waterfall, followed by iterative prototyping, which of the software are Collected culminates in installing the final prototyping a working system. Design: some high –end function are designed this stage Table 2. Performance of Incremental Development Model APY S/M/L M.N CRF SL A D Applicability Model Small Cost/Risk/ NO Advantages Disadvantages Name Medium Flexibility Large 2 Incremental - Parallel -Each is rigid and do not Large High Cost Development development overlap each other. Project Model can be -Each additional build has planned to be incorporated into Low Risk -More flexible the existing. and less -Design errors become More costly part of system and requirements difficult to remove. Flexibility -Progress can be -An overhead in model is measured rapid context switching between various -Testing and activities. Each debugging iteration is followed by smaller an evaluation ensuring iteration is that user requirements easy. Incremental Process Model has 4- Phases have been met -Risks are Analysis identified Design and resolved during an Code iteration and Testing each iteration is an easily managed milestone. -It breaks
Recommended publications
  • Powerdesigner 16.6 Data Modeling
    SAP® PowerDesigner® Document Version: 16.6 – 2016-02-22 Data Modeling Content 1 Building Data Models ...........................................................8 1.1 Getting Started with Data Modeling...................................................8 Conceptual Data Models........................................................8 Logical Data Models...........................................................9 Physical Data Models..........................................................9 Creating a Data Model.........................................................10 Customizing your Modeling Environment........................................... 15 1.2 Conceptual and Logical Diagrams...................................................26 Supported CDM/LDM Notations.................................................27 Conceptual Diagrams.........................................................31 Logical Diagrams............................................................43 Data Items (CDM)............................................................47 Entities (CDM/LDM)..........................................................49 Attributes (CDM/LDM)........................................................55 Identifiers (CDM/LDM)........................................................58 Relationships (CDM/LDM)..................................................... 59 Associations and Association Links (CDM)..........................................70 Inheritances (CDM/LDM)......................................................77 1.3 Physical Diagrams..............................................................82
    [Show full text]
  • Software Prototyping Rapid Software Development to Validate Requirements
    FSE Foundations of software engineering Software Prototyping Rapid software development to validate requirements G51FSE Monday, 20 February 12 Objectives To describe the use of prototypes in different types of development project To discuss evolutionary and throw-away prototyping To introduce three rapid prototyping techniques - high-level language development, database programming and component reuse To explain the need for user interface prototyping FSE Lecture 10 - Prototyping 2 Monday, 20 February 12 System prototyping Prototyping is the rapid development of a system In the past, the developed system was normally thought of as inferior in some way to the required system so further development was required Now, the boundary between prototyping and normal system development is blurred Many systems are developed using an evolutionary approach FSE Lecture 10 - Prototyping 3 Monday, 20 February 12 Why bother? The principal use is to help customers and developers understand the requirements for the system Requirements elicitation: users can experiment with a prototype to see how the system supports their work Requirements validation: The prototype can reveal errors and omissions in the requirements Prototyping can be considered as a risk reduction activity which reduces requirements risks FSE Lecture 10 - Prototyping 4 Monday, 20 February 12 Prototyping bene!ts Misunderstandings between software users and developers are exposed Missing services may be detected and confusing services may be identi!ed A working system is available early in
    [Show full text]
  • Test Driven Development
    Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents • About Myself • About SES • Agile Development • A Typical Developer’s Day • Test Driven Development • Questions SES 27-09-2006 2 About Myself • Born 1966 • Graduated from TU Eindhoven (Information Technology) • Around 20 years of experience in software development • Joined Philips CFT in 1995 • Joined Philips Research in 2001 • Moved to SES in end 2002 SES 27-09-2006 3 About SES • Founded in 2000 with three permanent staff, to support Philips Research in software prototype development • In 2002, SES moved to the Prototyping and Instrumentation sector, to facilitate combined hardware / software prototyping • Since 2003, many start-up companies (incubators) have been served as well, moving the focus more to product development • Now (September 2006), SES consists of 11 permanent staff and some 70 temporary staff SES 27-09-2006 4 Agile Development – An Introduction Agile development is based on a lightweight process. The concepts are formulated by the Agile Alliance in “The manifesto for Agile Software Development” The Agile Alliance Values: • Value Individuals and interactions over process and tools, • Value Working software over comprehensive documents, • Value Customer collaboration over contract negotiation, • Value Responding to change over following a plan. http://www.agilealliance.org SES 27-09-2006 5 Agile Development - What Is It? • Lightweight (lean and mean) process for development, originated in the SW development community
    [Show full text]
  • Process Models in Software Engineering
    Process Models in Software Engineering Walt Scacchi, Institute for Software Research, University of California, Irvine February 2001 Revised Version, May 2001, October 2001 Final Version to appear in, J.J. Marciniak (ed.), Encyclopedia of Software Engineering, 2nd Edition, John Wiley and Sons, Inc, New York, December 2001. Introduction Software systems come and go through a series of passages that account for their inception, initial development, productive operation, upkeep, and retirement from one generation to another. This article categorizes and examines a number of methods for describing or modeling how software systems are developed. It begins with background and definitions of traditional software life cycle models that dominate most textbook discussions and current software development practices. This is followed by a more comprehensive review of the alternative models of software evolution that are of current use as the basis for organizing software engineering projects and technologies. Background Explicit models of software evolution date back to the earliest projects developing large software systems in the 1950's and 1960's (Hosier 1961, Royce 1970). Overall, the apparent purpose of these early software life cycle models was to provide a conceptual scheme for rationally managing the development of software systems. Such a scheme could therefore serve as a basis for planning, organizing, staffing, coordinating, budgeting, and directing software development activities. Since the 1960's, many descriptions of the classic software life cycle have appeared (e.g., Hosier 1961, Royce 1970, Boehm 1976, Distaso 1980, Scacchi 1984, Somerville 1999). Royce (1970) originated the formulation of the software life cycle using the now familiar "waterfall" chart, displayed in Figure 1.
    [Show full text]
  • Integration Definition for Function Modeling (IDEF0)
    NIST U.S. DEPARTMENT OF COMMERCE PUBLICATIONS £ Technology Administration National Institute of Standards and Technology FIPS PUB 183 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION INTEGRATION DEFINITION FOR FUNCTION MODELING (IDEFO) » Category: Software Standard SUBCATEGORY: MODELING TECHNIQUES 1993 December 21 183 PUB FIPS JK- 45C .AS A3 //I S3 IS 93 FIPS PUB 183 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION INTEGRATION DEFINITION FOR FUNCTION MODELING (IDEFO) Category: Software Standard Subcategory: Modeling Techniques Computer Systems Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899 Issued December 21, 1993 U.S. Department of Commerce Ronald H. Brown, Secretary Technology Administration Mary L. Good, Under Secretary for Technology National Institute of Standards and Technology Arati Prabhakar, Director Foreword The Federal Information Processing Standards Publication Series of the National Institute of Standards and Technology (NIST) is the official publication relating to standards and guidelines adopted and promulgated under the provisions of Section 111 (d) of the Federal Property and Administrative Services Act of 1949 as amended by the Computer Security Act of 1987, Public Law 100-235. These mandates have given the Secretary of Commerce and NIST important responsibilities for improving the utilization and management of computer and related telecommunications systems in the Federal Government. The NIST, through its Computer Systems Laboratory, provides leadership, technical guidance,
    [Show full text]
  • MAKING DATA MODELS READABLE David C
    MAKING DATA MODELS READABLE David C. Hay Essential Strategies, Inc. “Confusion and clutter are failures of [drawing] design, not attributes of information. And so the point is to find design strategies that reveal detail and complexity ¾ rather than to fault the data for an excess of complication. Or, worse, to fault viewers for a lack of understanding.” ¾ Edward R. Tufte1 Entity/relationship models (or simply “data models”) are powerful tools for analyzing and representing the structure of an organization. Properly used, they can reveal subtle relationships between elements of a business. They can also form the basis for robust and reliable data base design. Data models have gotten a bad reputation in recent years, however, as many people have found them to be more trouble to produce and less beneficial than promised. Discouraged, people have gone on to other approaches to developing systems ¾ often abandoning modeling altogether, in favor of simply starting with system design. Requirements analysis remains important, however, if systems are ultimately to do something useful for the company. And modeling ¾ especially data modeling ¾ is an essential component of requirements analysis. It is important, therefore, to try to understand why data models have been getting such a “bad rap”. Your author believes, along with Tufte, that the fault lies in the way most people design the models, not in the underlying complexity of what is being represented. An entity/relationship model has two primary objectives: First it represents the analyst’s public understanding of an enterprise, so that the ultimate consumer of a prospective computer system can be sure that the analyst got it right.
    [Show full text]
  • Metamodeling and Method Engineering with Conceptbase”
    This is a pre-print of the book chapter M. Jeusfeld: “Metamodeling and method engineering with ConceptBase” . In Jeusfeld, M.A., Jarke, M., Mylopoulos, J. (eds): Metamodeling for Method Engineering, pp. 89-168. The MIT Press., 2009; the original book is available from MIT Press http://mitpress.mit.edu/node/192290 This pre-print may only be used for scholar, non-commercial purposes. Most of the sources for the examples in this chapter are available via http://merkur.informatik.rwth-aachen.de/pub/bscw.cgi/3782591 for download. They require ConceptBase 7.0 or later available from http://conceptbase.cc. Metamodeling and Method Engineering with ConceptBase Manfred Jeusfeld Abstract. This chapter provides a practical guide on how to use the meta data repository ConceptBase to design information modeling methods by using meta- modeling. After motivating the abstraction principles behind meta-modeling, the language Telos as realized in ConceptBase is presented. First, a standard factual representation of statements at any IRDS abstraction level is defined. Then, the foundation of Telos as a logical theory is elaborated yielding simple fixpoint semantics. The principles for object naming, instantiation, attribution, and specialization are reflected by roughly 30 logical axioms. After the language axiomatization, user-defined rules, constraints and queries are introduced. The first part is concluded by a description of active rules that allows the specification of reactions of ConceptBase to external events. The second part applies the language features of the first part to a full-fledged information modeling method: The Yourdan method for Modern Structured Analysis. The notations of the Yourdan method are designed along the IRDS framework.
    [Show full text]
  • Value Mapping – Critical Business Architecture Viewpoint
    Download this and other resources @ http://www.aprocessgroup.com/myapg Value Mapping – Critical Business Architecture Viewpoint AEA Webinar Series “Enterprise Business Intelligence” Armstrong Process Group, Inc. www.aprocessgroup.com Copyright © 1998-2017, Armstrong Process Group, Inc., All rights reserved 2 About APG APG’s mission is to “Align information technology and systems engineering capabilities with business strategy using proven, practical processes delivering world-class results.” Industry thought leader in enterprise architecture, business modeling, process improvement, systems and software engineering, requirements management, and agile methods Member and contributor to UML ®, SysML ®, SPEM, UPDM ™ at the Object Management Group ® (OMG ®) TOGAF ®, ArchiMate ®, and IT4IT ™ at The Open Group BIZBOK ® Guide and UML Profile at the Business Architecture Guild Business partners with Sparx, HPE, and IBM Guild Accredited Training Partner ™ (GATP ™) and IIBA ® Endorsed Education Provider (EEP ™) AEA Webinar Series – “Enterprise Business Intelligence” – Value Mapping Copyright © 1998-2017, Armstrong Process Group, Inc., All rights reserved 3 Business Architecture Framework Business Architecture Knowledgebase Blueprints provide views into knowledgebase, based on stakeholder concerns Scenarios contextualize expected outcomes of business architecture work Also inform initial selections of key stakeholders and likely concerns AEA Webinar Series – “Enterprise Business Intelligence” – Value Mapping BIZBOK Guide Copyright © 1998-2017,
    [Show full text]
  • Using Telelogic DOORS and Microsoft Visio to Model and Visualize Complex Business Processes
    Using Telelogic DOORS and Microsoft Visio to Model and Visualize Complex Business Processes “The Business Driven Application Lifecycle” Bob Sherman Procter & Gamble Pharmaceuticals [email protected] Michael Sutherland Galactic Solutions Group, LLC [email protected] Prepared for the Telelogic 2005 User Group Conference, Americas & Asia/Pacific http://www.telelogic.com/news/usergroup/us2005/index.cfm 24 October 2005 Abstract: The fact that most Information Technology (IT) projects fail as a result of requirements management problems is common knowledge. What is not commonly recognized is that the widely haled “use case” and Object Oriented Analysis and Design (OOAD) phenomenon have resulted in little (if any) abatement of IT project failures. In fact, ten years after the advent of these methods, every major IT industry research group remains aligned on the fact that these projects are still failing at an alarming rate (less than a 30% success rate). Ironically, the popularity of use case and OOAD (e.g. UML) methods may be doing more harm than good by diverting our attention away from addressing the real root cause of IT project failures (when you have a new hammer, everything looks like a nail). This paper asserts that, the real root cause of IT project failures centers around the failure to map requirements to an accurate, precise, comprehensive, optimized business model. This argument will be supported by a using a brief recap of the history of use case and OOAD methods to identify differences between the problems these methods were intended to address and the challenges of today’s IT projects.
    [Show full text]
  • Prototyping Process
    With contributions by: Steven Jacobs, Eck Doerry With credit and thanks for some slides and ideas to Larry Bernstein’s Quantitative Software Engineering Course at Stevens Institute of Technology, Hoboken, NJ Software Requirements Development Process 1. Requirements Elicitation (what the user wants) 2. Requirements Analysis (filling in the blanks) 3. Use Cases (Explore interaction dynamics) 4. Prototype/Modeling (prove that it can work) 5. Requirements Specification (formalize it) 6. Requirements Management (trace/verify) 2 Software Prototyping Process Key tool for targeting Software prototyping: implementation! the process of creating an incomplete model of the future full- featured software Or of key pieces/modules Process: Identify basic requirements Develop Initial prototype Review with customers users Revise and enhance http://crackmba.com/tag/sdlc/ 3 Prototypes as Specifications? Could we use a prototype as a specification? “Let me show you sort of what I want (prototype)…” “…and then we’ll use that as spec!” No! Because: Some parts of the requirements may be impossible to prototype E.g., safety-critical functions An implementation has no legal standing as a contract! It is no substitute for a clear specification of requirements. Non-functional requirements cannot be adequately tested in a system prototype 4 Types of Software Prototypes Throwaway prototype: Idea: creating a very rapid model (demonstration or marketing) Early tool for envisioning software look and feel. Could be paper: posters, screen sheets Evolutionary
    [Show full text]
  • Metamodeling the Enhanced Entity-Relationship Model
    Metamodeling the Enhanced Entity-Relationship Model Robson N. Fidalgo1, Edson Alves1, Sergio España2, Jaelson Castro1, Oscar Pastor2 1 Center for Informatics, Federal University of Pernambuco, Recife(PE), Brazil {rdnf, eas4, jbc}@cin.ufpe.br 2 Centro de Investigación ProS, Universitat Politècnica de València, València, España {sergio.espana,opastor}@pros.upv.es Abstract. A metamodel provides an abstract syntax to distinguish between valid and invalid models. That is, a metamodel is as useful for a modeling language as a grammar is for a programming language. In this context, although the Enhanced Entity-Relationship (EER) Model is the ”de facto” standard modeling language for database conceptual design, to the best of our knowledge, there are only two proposals of EER metamodels, which do not provide a full support to Chen’s notation. Furthermore, neither a discussion about the engineering used for specifying these metamodels is presented nor a comparative analysis among them is made. With the aim at overcoming these drawbacks, we show a detailed and practical view of how to formalize the EER Model by means of a metamodel that (i) covers all elements of the Chen’s notation, (ii) defines well-formedness rules needed for creating syntactically correct EER schemas, and (iii) can be used as a starting point to create Computer Aided Software Engineering (CASE) tools for EER modeling, interchange metadata among these tools, perform automatic SQL/DDL code generation, and/or extend (or reuse part of) the EER Model. In order to show the feasibility, expressiveness, and usefulness of our metamodel (named EERMM), we have developed a CASE tool (named EERCASE), which has been tested with a practical example that covers all EER constructors, confirming that our metamodel is feasible, useful, more expressive than related ones and correctly defined.
    [Show full text]
  • The Importance of Data Models in Enterprise Metadata Management
    THE IMPORTANCE OF DATA MODELS IN ENTERPRISE METADATA MANAGEMENT October 19, 2017 © 2016 ASG Technologies Group, Inc. All rights reserved HAPPINESS IS… SOURCE: 10/18/2017 TODAY SHOW – “THE BLUE ZONE OF HAPPINESS” – DAN BUETTNER • 3 Close Friends • Get a Dog • Good Light • Get Religion • Get Married…. Stay Married • Volunteer • “Money will buy you Happiness… well, it’s more about Financial Security” • “Our Data Models are now incorporated within our corporate metadata repository” © 2016 ASG Technologies Group, Inc. All rights reserved 3 POINTS TO REMEMBER SOURCE: 10/19/2017 DAMA NYC – NOONTIME SPEAKER SLOT – MIKE WANYO – ASG TECHNOLOGIES 1. Happiness is individually sought and achievable © 2016 ASG Technologies Group, Inc. All rights reserved 3 POINTS TO REMEMBER SOURCE: 10/19/2017 DAMA NYC – NOONTIME SPEAKER SLOT – MIKE WANYO – ASG TECHNOLOGIES 1. Happiness is individually sought and achievable 2. Data Models can in be incorporated into your corporate metadata repository © 2016 ASG Technologies Group, Inc. All rights reserved 3 POINTS TO REMEMBER SOURCE: 10/19/2017 DAMA NYC – NOONTIME SPEAKER SLOT – MIKE WANYO – ASG TECHNOLOGIES 1. Happiness is individually sought and achievable 2. Data Models can in be incorporated into your corporate metadata repository 3. ASG Technologies can provide an overall solution with services to accomplish #2 above and more for your company. © 2016 ASG Technologies Group, Inc. All rights reserved AGENDA Data model imports to the metadata collection View and search capabilities Traceability of physical and logical
    [Show full text]