SlideShare a Scribd company logo
1 of 8
Download to read offline
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                                      94
ISSN (Online): 1694-0814
www.IJCSI.org



   A Comparison Between Five Models Of Software Engineering
                                            Nabil Mohammed Ali Munassar1 and A. Govardhan2


                                              1
                                               Ph.D Student of Computer Science & Engineering
                                                 Jawahrlal Nehru Technological University
                                            Kuktapally, Hyderabad- 500 085, Andhra Pradesh, India

                                              2
                                            Professor of Computer Science & Engineering
                                Principal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., India




                              Abstract                                         increased recently which results in the difficulty of
This research deals with a vital and important issue in computer               enumerating such companies. During the previous four
world. It is concerned with the software management processes                  decades, software has been developed from a tool used for
that examine the area of software development through the                      analyzing information or solving a problem to a product in
development models, which are known as software development                    itself. However, the early programming stages have
life cycle. It represents five of the development models namely,
                                                                               created a number of problems turning software an
waterfall, Iteration, V-shaped, spiral and Extreme programming.
These models have advantages and disadvantages as well.                        obstacle to software development particularly those
Therefore, the main objective of this research is to represent                 relying on computers. Software consists of documents and
different models of software development and make a                            programs that contain a collection that has been
comparison between them to show the features and defects of                    established to be a part of software engineering
each model.                                                                    procedures. Moreover, the aim of software engineering is
Keywords: Software Management Processes, Software                              to create a suitable work that construct programs of high
Development, Development Models, Software Development Life                     quality.
Cycle, Comparison between five models of Software Engineering.


1. Introduction
                                                                                           Computer Science                                        Client
No one can deny the importance of computer in our life,
especially during the present time. In fact, computer has
become indispensible in today's life as it is used in many
fields of life such as industry, medicine, commerce,                                Theories             Computer Function                        Problems
education and even agriculture. It has become an
important element in the industry and technology of
advanced as well as developing countries. Now a days,
organizations become more dependent on computer in
their works as a result of computer technology. Computer                                               The Software engineering
is considered a time- saving device and its progress helps
in executing complex, long, repeated processes in a very
short time with a high speed. In addition to using
                                                                                                         Tools and techniques to solve problems
computer for work, people use it for fun and
entertainment. Noticeably, the number of companies that
produce software programs for the purpose of facilitating                                 Fig. 1 Explanation of software engineering conception.
works of offices, administrations, banks, etc, has
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                                             95
ISSN (Online): 1694-0814
www.IJCSI.org

2. Software Process Models                                                     concern.

A software process model is an abstract representation of a                    The pure waterfall lifecycle consists of several non-
process. It presents a description of a process from some                      overlapping stages, as shown in the following figure. The
particular perspective as:                                                     model begins with establishing system requirements and
1.   Specification.                                                            software requirements and continues with architectural
2.   Design.                                                                   design, detailed design, coding, testing, and maintenance.
3.   Validation.                                                               The waterfall model serves as a baseline for many other
4.   Evolution.                                                                lifecycle models.

General Software Process Models are
1. Waterfall model: Separate and distinct phases of                          System Requirements
   specification and development.
2. Prototype model.                                                                       Software Requirements
3. Rapid application development model (RAD).
4. Evolutionary        development:        Specification,
   development and validation are interleaved.                                                            Architectural Design
5. Incremental model.
6. Iterative model.                                                                                                          Detailed Design
7. Spiral model.
8. Component-based software engineering : The system
   is assembled from existing components.                                                                                                      Coding


There are many variants of these models e.g. formal                                                                                                      Testing
development where a waterfall-like process is used, but
the specification is formal that is refined through several
                                                                                                                                                                   Maintenance
stages to an implementable design[1].
                                                                                                             Fig. 2 Waterfall Model[4].

3. Five Models
                                                                                Requirements
A Programming process model is an abstract                                       Definition
representation to describe the process from a particular
perspective. There are numbers of general models for
software processes, like: Waterfall model, Evolutionary
development, Formal systems development and Reuse-                                                    System and
based development, etc. This research will view the                                                 Software Design
following five models :
1. Waterfall model.
2. Iteration model.
3. V-shaped model.                                                                                                        Implementation
                                                                                                                          and Unit Testing
4. Spiral model.
5. Extreme model.
These models are chosen because their features
correspond to most software development programs.                                                                                               Integration and
                                                                                                                                                System Testing
3.1 The Waterfall Model
The waterfall model is the classical model of software
engineering. This model is one of the oldest models and is                                                                                                         Operation and
widely used in government projects and in many major                                                                                                               Maintenance
companies. As this model emphasizes planning in early
stages, it ensures design flaws before they develop. In                                                      Fig. 3 Waterfall model[2].
addition, its intensive document and planning make it                          The following list details the steps for using the waterfall
work well for projects in which quality control is a major
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                   96
ISSN (Online): 1694-0814
www.IJCSI.org

model:                                                                         starting coding. There is no overlap between stages. In
1 System requirements: Establishes the components                              real-world development, however, one can discover issues
   for building the system, including the hardware                             during the design or coding stages that point out errors or
   requirements, software tools, and other necessary                           gaps in the requirements.
   components. Examples include decisions on
   hardware, such as plug-in boards (number of                                 The waterfall method does not prohibit returning to an
   channels, acquisition speed, and so on), and decisions                      earlier phase, for example, returning from the design phase
   on external pieces of software, such as databases or                        to the requirements phase. However, this involves costly
   libraries.                                                                  rework. Each completed phase requires formal review and
                                                                               extensive documentation development. Thus, oversights
2    Software requirements: Establishes the expectations                       made in the requirements phase are expensive to correct
     for software functionality and identifies which system                    later.
     requirements the software affects. Requirements
     analysis includes determining interaction needed with                     Because the actual development comes late in the process,
     other applications and databases, performance                             one does not see results for a long time. This delay can be
     requirements, user interface requirements, and so on.                     disconcerting to management and customers. Many people
3    Architectural design: Determines the software                             also think that the amount of documentation is excessive
     framework of a system to meet the specific                                and inflexible.
     requirements. This design defines the major
     components and the interaction of those components,                       Although the waterfall model has       its weaknesses, it is
     but it does not define the structure of each                              instructive because it emphasizes       important stages of
     component. The external interfaces and tools used in                      project development. Even if one        does not apply this
     the project can be determined by the designer.                            model, he must consider each of        these stages and its
                                                                               relationship to his own project [4].
4    Detailed design: Examines the software components
     defined in the architectural design stage and produces                         Advantages :
     a specification for how each component is                                 1.    Easy to understand and implement.
     implemented.                                                              2.    Widely used and known (in theory!).
                                                                               3.    Reinforces good habits:         define-before- design,
5    Coding:      Implements            the      detailed      design                design-before-code.
     specification.                                                            4.    Identifies deliverables and milestones.
                                                                               5.    Document driven, URD, SRD, … etc. Published
6    Testing: Determines whether the software meets the
                                                                                     documentation standards, e.g. PSS-05.
     specified requirements and finds any errors present in
                                                                               6.    Works well on mature products and weak teams.
     the code.
7    Maintenance: Addresses problems and enhancement                                Disadvantages :
     requests after the software releases.                                     1.    Idealized, doesn’t match reality well.
                                                                               2.    Doesn’t reflect iterative nature of exploratory
In some organizations, a change control board maintains                              development.
the quality of the product by reviewing each change made                             3. Unrealistic to expect accurate requirements so
in the maintenance stage. Consider applying the full                                      early in project.
waterfall development cycle model when correcting                              4.     Software is delivered late in project, delays discovery
problems or implementing these enhancement requests.                                  of serious errors.
                                                                               5.    Difficult to integrate risk management.
In each stage, documents that explain the objectives and
                                                                               6.    Difficult and expensive to make changes to
describe the requirements for that phase are created. At the
                                                                                     documents, ”swimming upstream”.
end of each stage, a review to determine whether the
                                                                               7.    Significant administrative overhead, costly for small
project can proceed to the next stage is held. Your
                                                                                     teams and projects [6].
prototyping can also be incorporated into any stage from
                                                                                    Pure Waterfall
the architectural design and after.
                                                                               This is the classical system development model. It consists
Many people believe that this model cannot be applied to                       of discontinuous phases:
all situations. For example, with the pure waterfall model,                    1.    Concept.
the requirements must be stated before beginning the                           2.    Requirements.
design, and the complete design must be stated before                          3.    Architectural design.
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                 97
ISSN (Online): 1694-0814
www.IJCSI.org

4.   Detailed design.                                                          Risk reduction spirals can be added to the top of the
5.   Coding and development.                                                   waterfall to reduce risks prior to the waterfall phases. The
6.   Testing and implementation.                                               waterfall can be further modified using options such as
                                                                               prototyping, JADs or CRC sessions or other methods of
           Table 1: Strengths & Weaknesses of Pure Waterfall                   requirements gathering done in overlapping phases [5].

             Strengths                         Weaknesses                      3.2 Iterative Development

                                               Inflexible                     The problems with the Waterfall Model created a demand
          Minimizes planning
           overhead since it can                                               for a new method of developing systems which could
           be done up front.
                                               Only the final phase           provide faster results, require less up-front information,
                                                produces a non-                and offer greater flexibility. With Iterative Development,
                                                documentation
          Structure minimizes
                                                deliverable.
                                                                               the project is divided into small parts. This allows the
           wasted effort, so it                                                development team to demonstrate results earlier on in the
           works well for                                                      process and obtain valuable feedback from system users.
           technically weak or
                                               Backing up to
                                                address mistakes is            Often, each iteration is actually a mini-Waterfall process
           inexperienced staff.                                                with the feedback from one phase providing vital
                                                difficult.
                                                                               information for the design of the next phase. In a variation
                                                                               of this model, the software products, which are produced
 Pure Waterfall Summary                                                       at the end of each step (or series of steps), can go into
The pure waterfall model performs well for products with                       production immediately as incremental releases.
clearly understood requirements or when working with
well understood technical tools, architectures and
infrastructures. Its weaknesses frequently make it
inadvisable when rapid development is needed. In those
cases, modified models may be more effective.

    Modified Waterfall

The modified waterfall uses the same phases as the pure
waterfall, but is not based on a discontinuous basis. This
enables the phases to overlap when needed. The pure
waterfall can also split into subprojects at an appropriate
phase (such as after the architectural design or detailed
design).


         Table 2: Strengths & Weaknesses of Modified Waterfall

             Strengths                         Weaknesses

          More flexible than the               Milestones are more                             Fig. 4 Iterative Development.
           pure waterfall model.                 ambiguous than the
                                                 pure waterfall.
          If there is personnel
           continuity between the               Activities performed
                                                                               3.3 V-Shaped Model
           phases, documentation                 in parallel are subject
           can be substantially                  to miscommunication           Just like the waterfall model, the V-Shaped life cycle is a
           reduced.                              and mistaken                  sequential path of execution of processes. Each phase
                                                 assumptions.                  must be completed before the next phase begins. Testing
          Implementation of easy                                              is emphasized in this model more than the waterfall
           areas does not need to               Unforeseen
                                                                               model. The testing procedures are developed early in the
           wait for the hard ones.               interdependencies can
                                                 create problems.              life cycle before any coding is done, during each of the
                                                                               phases preceding implementation. Requirements begin the
    Modified Waterfall Summary                                                life cycle model just like the waterfall model. Before
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                           98
ISSN (Online): 1694-0814
www.IJCSI.org
                                                                              Requirements                       System Test                           System
development is started, a system test plan is created. The                                                        Planning                             Testing
test plan focuses on meeting the functionality specified in
requirements gathering.

The high-level design phase focuses on system
architecture and design. An integration test plan is created                          High Level                 Integration              Integration
in this phase in order to test the pieces of the software                              Design                        Test                   Testing
                                                                                                                  Planning
systems ability to work together. However, the low-level
design phase lies where the actual software components
are designed, and unit tests are created in this phase as
well.
                                                                                             Low Level            Unit Test              Unit
                                                                                               Design             Planning              Testing
The implementation phase is, again, where all coding
takes place. Once coding is complete, the path of
execution continues up the right side of the V where the
test plans developed earlier are now put to use.
                                                                                                                 Implementation
    Advantages
1.   Simple and easy to use.
2.   Each phase has specific deliverables.                                                       Fig. 6 V-Shaped Life Cycle Model[7].
3.   Higher chance of success over the waterfall model
     due to the early development of test plans during the
     life cycle.                                                               3.4 Spiral Model
4.   Works well for small projects where requirements are
     easily understood.                                                        The spiral model is similar to the incremental model, with
                                                                               more emphases placed on risk analysis. The spiral model
                                                                               has four phases: Planning, Risk Analysis, Engineering and
                                                                               Evaluation. A software project repeatedly passes through
                                                                               these phases in iterations (called Spirals in this
                                                                               model). The baseline spiral, starting in the planning
                                                                               phase, requirements are gathered and risk is
                                                                               assessed. Each subsequent spiral builds on the baseline
                                                                               spiral. Requirements are gathered during the planning
                                                                               phase. In the risk analysis phase, a process is undertaken
                                                                               to identify risk and alternate solutions. A prototype is
                                                                               produced at the end of the risk analysis phase. Software is
                                                                               produced in the engineering phase, along with testing at
                                                                               the end of the phase. The evaluation phase allows the
                                                                               customer to evaluate the output of the project to date
                                                                               before the project continues to the next spiral.
                                                                               In the spiral model, the angular component represents
                                                                               progress, and the radius of the spiral represents cost.
                          Fig. 5 V-Model [3]                                        Advantages
    Disadvantages                                                             1.    High amount of risk analysis.
                                                                               2.    Good for large and mission-critical projects.
1.   Very rigid like the waterfall model.                                      3.    Software is produced early in the software life cycle.
2.    Little flexibility and adjusting scope is difficult and
     expensive.                                                                     Disadvantages
3.   Software is developed during the implementation phase,                    1.    Can be a costly model to use.
     so no early prototypes of the software are produced.                      2.    Risk analysis requires highly specific expertise.
4.   This Model does not provide a clear path for problems                     3.    Project’s success is highly dependent on the risk
     found during testing phases [7].                                                analysis phase.
                                                                               4.    Doesn’t work well for smaller projects [7].
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                  99
ISSN (Online): 1694-0814
www.IJCSI.org

    Spiral model sectors                                                      under which the system would produce win-lose or lose-
1.   Objective setting :Specific objectives for the phase are                  lose outcomes for some stakeholders.
     identified.                                                               3. Identify and Evaluate Alternatives: Solicit
2. Risk assessment and reduction: Risks are assessed and                       suggestions from stakeholders, evaluate them with respect
     activities are put in place to reduce the key risks.                      to stakeholders' win conditions, synthesize and negotiate
3. Development and validation: A development model                             candidate win-win alternatives, analyze, assess, resolve
     for the system is chosen which can be any of the                          win-lose or lose-lose risks, record commitments and areas
     general models.                                                           to be left flexible in the project's design record and life
                                                                               cycle plans.
4. Planning: The project is reviewed and the next phase                        4. Cycle through the Spiral: Elaborate the win conditions
of the spiral is planned [1].
                                                                               evaluate and screen alternatives, resolve risks, accumulate
                                                                               appropriate commitments, and develop and execute
                                                                               downstream plans [8].

                                                                               3.5 Extreme Programming

                                                                               An approach to development, based on the development
                                                                               and delivery of very small increments of functionality. It
                                                                               relies on constant code improvement, user involvement in
                                                                               the development team and pair wise programming . It can
                                                                               be difficult to keep the interest of customers who are
                                                                               involved in the process. Team members may be unsuited
                                                                               to the intense involvement that characterizes agile
                                                                               methods. Prioritizing changes can be difficult where there
                                                                               are multiple stakeholders. Maintaining simplicity requires
                                                                               extra work. Contracts may be a problem as with other
                                                                               approaches to iterative development.




     Fig. 7 Spiral Model of the Software Process[1].

 WinWin Spiral Model
The original spiral model [Boehm 88] began each cycle of
the spiral by performing the next level of elaboration of
the prospective system's objectives, constraints and
alternatives. A primary difficulty in applying the spiral
model has been the lack of explicit process guidance in
determining these objectives, constraints, and alternatives.
The Win-Win Spiral Model [Boehm 94] uses the theory
W (win-win) approach [Boehm 89b] to converge on a                                                Fig. 8 The XP Release Cycle
system's next-level objectives, constraints, and
alternatives. This Theory W approach involves identifying
the system's stakeholders and their win conditions, and                         Extreme Programming Practices
using negotiation processes to determine a mutually                            Incremental planning: Requirements are recorded on
satisfactory set of objectives, constraints, and alternatives                  Story Cards and the Stories to be included in a release are
for the stakeholders. In particular, as illustrated in the                     determined by the time available and their relative priority.
figure, the nine-step Theory W process translates into the                     The developers break these stories into development
following spiral model extensions:                                             "Tasks".
1. Determine Objectives: Identify the system life-cycle                        Small Releases: The minimal useful set of functionality
stakeholders and their win conditions and establish initial                    that provides business value is developed first. Releases of
system boundaries and external interfaces.                                     the system are frequent and incrementally add
2. Determine Constraints: Determine the conditions                             functionality to the first release.
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010                                                   100
ISSN (Online): 1694-0814
www.IJCSI.org

Simple Design: Enough design is carried out to meet the                        4.    Test case construction is a difficult and specialized
current requirements and no more.                                                    skill [6].
Test first development: An automated unit test
framework is used to write tests for a new piece of
functionality before functionality itself is implemented.                      4. Conclusion and Future Work
Refactoring: All developers are expected to re-factor the
code continuously as soon as possible code improvements                        After completing this research , it is concluded that :
are found. This keeps the code simple and maintainable.                        1. There are many existing models for developing
Pair Programming: Developers work in pairs, checking                               systems for different sizes of projects and
each other’s work and providing support to do a good job.                          requirements.
Collective Ownership: The pairs of developers work on                          2. These models were established between 1970 and
all areas of the system, so that no islands of expertise                           1999.
develop and all the developers own all the code. Anyone                        3. Waterfall model and spiral model are used commonly
can change anything.                                                               in developing systems.
Continuous Integration: As soon as work on a task is                           4. Each model has advantages and disadvantages for the
complete, it is integrated into the whole system. After any                        development of systems , so each model tries to
such integration, all the unit tests in the system must pass.                      eliminate the disadvantages of the previous model
Sustainable pace: Large amounts of over-time are not
considered acceptable as the net effect is often to reduce                      Finally, some topics can be suggested for future works:
code quality and medium term productivity.
On-site Customer: A representative of the end-user of the                      1.     Suggesting a model to simulate advantages that are
system (the Customer) should be available full time for the                          found in different models to software process
use of the XP team. In an extreme programming process,                               management.
the customer is a member of the development team and is                        2.     Making a comparison between the suggested model
responsible for bringing system requirements to the team                             and the previous software processes management
for implementation.                                                                  models.
                                                                               3.     Applying the suggested model to many projects to
    XP and agile principles                                                         ensure of its suitability and documentation to explain
1.   Incremental development is supported through small,                             its mechanical work.
     frequent system releases.
2.   Customer involvement means full-time customer                             REFERENCES
     engagement with the team.                                                 [1] Ian Sommerville, "Software Engineering", Addison
3.   People not process through pair programming,                              Wesley, 7th edition, 2004.
     collective ownership and a process that avoids long                       [2] CTG. MFA – 003, "A Survey of System Development
     working hours.                                                            Process Models", Models for Action Project: Developing
4.   Change supported through regular system releases.                         Practical Approaches to Electronic Records Management
5.   Maintaining simplicity through constant refactoring of                    and Preservation, Center for Technology in Government
     code [1].                                                                 University at Albany / Suny,1998 .
                                                                               [3] Steve Easterbrook, "Software Lifecycles", University
    Advantages                                                                of Toronto Department of Computer Science, 2001.
1.   Lightweight methods suit small-medium size projects.                      [4] National Instruments Corporation, "Lifecycle Models",
2.   Produces good team cohesion.                                              2006 , http://zone.ni.com.
3.   Emphasises final product.                                                 [5] JJ Kuhl, "Project Lifecycle Models: How They Differ
4.   Iterative.                                                                and When to Use Them",2002 www.business-
5.   Test based approach to requirements and quality                           esolutions.com.
     assurance.                                                                [6] Karlm, "Software Lifecycle Models', KTH,2006 .
                                                                               [7] Rlewallen, "Software Development Life Cycle
    Disadvantages                                                             Models", 2005 ,http://codebeter.com.
1.   Difficult to scale up to large projects where                             [8] Barry Boehm, "Spiral Development: Experience,
     documentation is essential.                                               Principles, and Refinements", edited by Wilfred J.
2.   Needs experience and skill if not to degenerate into                      Hansen, 2000 .
     code-and-fix.
3.   Programming pairs is costly.                                              Nabil Mohammed Ali Munassar was born in Jeddah, Saudi
                                                                               Arabia in 1978. He studied Computer Science at University of
                                                                               Science and Technology, Yemen from 1997 to 2001. In 2001 he
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010   101
ISSN (Online): 1694-0814
www.IJCSI.org

received the Bachelor degree. He studied Master of Information
Technology at Arab Academic, Yemen, from 2004 to 2007. Now
                       rd
he Ph.D. Student 3 year of CSE at Jawaharlal Nehru
Technological University (JNTU), Hyderabad, A. P., India. He is
working as Associate Professor in Computer Science &
Engineering College in University Of Science and Technology,
Yemen. His area of interest include Software Engineering, System
Analysis and Design, Databases and Object Oriented
Technologies.

Dr.A.Govardhan: received Ph.D. degree in Computer Science
and Engineering from Jawaharlal Nehru Technological University
in 2003, M.Tech. from Jawaharlal Nehru University in 1994 and
B.E. from Osmania University in 1992. He is Working as a
Principal of Jawaharlal Nehru Technological University, Jagitial. He
has published around 108 papers in various national and
international Journals/conferences. His research of interest
includes Databases, Data Warehousing & Mining, Information
Retrieval, Computer Networks, Image Processing, Software
Engineering, Search Engines and Object Oriented Technologies.

More Related Content

What's hot

An Innovative Research on Software Development Life Cycle Model
An Innovative Research on Software Development Life Cycle ModelAn Innovative Research on Software Development Life Cycle Model
An Innovative Research on Software Development Life Cycle ModelSucharita Bansal
 
A review of software quality models
A review of software quality modelsA review of software quality models
A review of software quality modelsijseajournal
 
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTS
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSAN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTS
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSijseajournal
 
A Software System Development Life Cycle Model for Improved Students Communic...
A Software System Development Life Cycle Model for Improved Students Communic...A Software System Development Life Cycle Model for Improved Students Communic...
A Software System Development Life Cycle Model for Improved Students Communic...IJCSES Journal
 
Software enginneering
Software enginneeringSoftware enginneering
Software enginneeringchirag patil
 
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKREALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKijseajournal
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Nikolay Grozev
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...Nikolay Grozev
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qaAruna M
 
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...ijseajournal
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineAmr E. Mohamed
 
Defect Prevention Based on 5 Dimensions of Defect Origin
Defect Prevention Based on 5 Dimensions of Defect OriginDefect Prevention Based on 5 Dimensions of Defect Origin
Defect Prevention Based on 5 Dimensions of Defect Originijseajournal
 
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESMODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESijseajournal
 
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...ijseajournal
 

What's hot (18)

An Innovative Research on Software Development Life Cycle Model
An Innovative Research on Software Development Life Cycle ModelAn Innovative Research on Software Development Life Cycle Model
An Innovative Research on Software Development Life Cycle Model
 
A review of software quality models
A review of software quality modelsA review of software quality models
A review of software quality models
 
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTS
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSAN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTS
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTS
 
A Software System Development Life Cycle Model for Improved Students Communic...
A Software System Development Life Cycle Model for Improved Students Communic...A Software System Development Life Cycle Model for Improved Students Communic...
A Software System Development Life Cycle Model for Improved Students Communic...
 
Software enginneering
Software enginneeringSoftware enginneering
Software enginneering
 
Software Processes
Software Processes Software Processes
Software Processes
 
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKREALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available Methodology
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qa
 
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course Outline
 
Defect Prevention Based on 5 Dimensions of Defect Origin
Defect Prevention Based on 5 Dimensions of Defect OriginDefect Prevention Based on 5 Dimensions of Defect Origin
Defect Prevention Based on 5 Dimensions of Defect Origin
 
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESMODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
 
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
 

Viewers also liked

2010 Toy Manuf Services
2010 Toy Manuf Services2010 Toy Manuf Services
2010 Toy Manuf Servicesadrianyates
 
Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)
Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)
Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)ABC Training Consulting
 
Analiza cifrei de afaceri (studiu de caz - Anda Racsa)
Analiza cifrei de afaceri (studiu de caz - Anda Racsa)Analiza cifrei de afaceri (studiu de caz - Anda Racsa)
Analiza cifrei de afaceri (studiu de caz - Anda Racsa)ABC Training Consulting
 
53510163 caiet-aplicatii-analiza-economico-f
53510163 caiet-aplicatii-analiza-economico-f53510163 caiet-aplicatii-analiza-economico-f
53510163 caiet-aplicatii-analiza-economico-fAlexandru Costache
 

Viewers also liked (6)

2010 Toy Manuf Services
2010 Toy Manuf Services2010 Toy Manuf Services
2010 Toy Manuf Services
 
7 5-94-101
7 5-94-1017 5-94-101
7 5-94-101
 
Game's key platforms
Game's key platformsGame's key platforms
Game's key platforms
 
Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)
Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)
Analiza financiara a bilantului contabil - Elemente cheie (Anda Racsa)
 
Analiza cifrei de afaceri (studiu de caz - Anda Racsa)
Analiza cifrei de afaceri (studiu de caz - Anda Racsa)Analiza cifrei de afaceri (studiu de caz - Anda Racsa)
Analiza cifrei de afaceri (studiu de caz - Anda Racsa)
 
53510163 caiet-aplicatii-analiza-economico-f
53510163 caiet-aplicatii-analiza-economico-f53510163 caiet-aplicatii-analiza-economico-f
53510163 caiet-aplicatii-analiza-economico-f
 

Similar to 7 5-94-101

Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsNishu Rastogi
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semesterrajesh199155
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering noteNeelamani Samal
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model reportAshutosh Singh
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)IIUI
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi Systemdevinta sari
 
Lecture 1. Software Process Models.pdf
Lecture 1. Software Process Models.pdfLecture 1. Software Process Models.pdf
Lecture 1. Software Process Models.pdfOwenHarveyBalocon
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materialssmruti sarangi
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...Ashok Mohanty
 

Similar to 7 5-94-101 (20)

Software model
Software modelSoftware model
Software model
 
7 5-94-101
7 5-94-1017 5-94-101
7 5-94-101
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi System
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
Lecture 1. Software Process Models.pdf
Lecture 1. Software Process Models.pdfLecture 1. Software Process Models.pdf
Lecture 1. Software Process Models.pdf
 
San se unit
San se unitSan se unit
San se unit
 
Software engineering study materials
Software engineering study materialsSoftware engineering study materials
Software engineering study materials
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development Models
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

7 5-94-101

  • 1. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 94 ISSN (Online): 1694-0814 www.IJCSI.org A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar1 and A. Govardhan2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally, Hyderabad- 500 085, Andhra Pradesh, India 2 Professor of Computer Science & Engineering Principal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., India Abstract increased recently which results in the difficulty of This research deals with a vital and important issue in computer enumerating such companies. During the previous four world. It is concerned with the software management processes decades, software has been developed from a tool used for that examine the area of software development through the analyzing information or solving a problem to a product in development models, which are known as software development itself. However, the early programming stages have life cycle. It represents five of the development models namely, created a number of problems turning software an waterfall, Iteration, V-shaped, spiral and Extreme programming. These models have advantages and disadvantages as well. obstacle to software development particularly those Therefore, the main objective of this research is to represent relying on computers. Software consists of documents and different models of software development and make a programs that contain a collection that has been comparison between them to show the features and defects of established to be a part of software engineering each model. procedures. Moreover, the aim of software engineering is Keywords: Software Management Processes, Software to create a suitable work that construct programs of high Development, Development Models, Software Development Life quality. Cycle, Comparison between five models of Software Engineering. 1. Introduction Computer Science Client No one can deny the importance of computer in our life, especially during the present time. In fact, computer has become indispensible in today's life as it is used in many fields of life such as industry, medicine, commerce, Theories Computer Function Problems education and even agriculture. It has become an important element in the industry and technology of advanced as well as developing countries. Now a days, organizations become more dependent on computer in their works as a result of computer technology. Computer The Software engineering is considered a time- saving device and its progress helps in executing complex, long, repeated processes in a very short time with a high speed. In addition to using Tools and techniques to solve problems computer for work, people use it for fun and entertainment. Noticeably, the number of companies that produce software programs for the purpose of facilitating Fig. 1 Explanation of software engineering conception. works of offices, administrations, banks, etc, has
  • 2. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 95 ISSN (Online): 1694-0814 www.IJCSI.org 2. Software Process Models concern. A software process model is an abstract representation of a The pure waterfall lifecycle consists of several non- process. It presents a description of a process from some overlapping stages, as shown in the following figure. The particular perspective as: model begins with establishing system requirements and 1. Specification. software requirements and continues with architectural 2. Design. design, detailed design, coding, testing, and maintenance. 3. Validation. The waterfall model serves as a baseline for many other 4. Evolution. lifecycle models. General Software Process Models are 1. Waterfall model: Separate and distinct phases of System Requirements specification and development. 2. Prototype model. Software Requirements 3. Rapid application development model (RAD). 4. Evolutionary development: Specification, development and validation are interleaved. Architectural Design 5. Incremental model. 6. Iterative model. Detailed Design 7. Spiral model. 8. Component-based software engineering : The system is assembled from existing components. Coding There are many variants of these models e.g. formal Testing development where a waterfall-like process is used, but the specification is formal that is refined through several Maintenance stages to an implementable design[1]. Fig. 2 Waterfall Model[4]. 3. Five Models Requirements A Programming process model is an abstract Definition representation to describe the process from a particular perspective. There are numbers of general models for software processes, like: Waterfall model, Evolutionary development, Formal systems development and Reuse- System and based development, etc. This research will view the Software Design following five models : 1. Waterfall model. 2. Iteration model. 3. V-shaped model. Implementation and Unit Testing 4. Spiral model. 5. Extreme model. These models are chosen because their features correspond to most software development programs. Integration and System Testing 3.1 The Waterfall Model The waterfall model is the classical model of software engineering. This model is one of the oldest models and is Operation and widely used in government projects and in many major Maintenance companies. As this model emphasizes planning in early stages, it ensures design flaws before they develop. In Fig. 3 Waterfall model[2]. addition, its intensive document and planning make it The following list details the steps for using the waterfall work well for projects in which quality control is a major
  • 3. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 96 ISSN (Online): 1694-0814 www.IJCSI.org model: starting coding. There is no overlap between stages. In 1 System requirements: Establishes the components real-world development, however, one can discover issues for building the system, including the hardware during the design or coding stages that point out errors or requirements, software tools, and other necessary gaps in the requirements. components. Examples include decisions on hardware, such as plug-in boards (number of The waterfall method does not prohibit returning to an channels, acquisition speed, and so on), and decisions earlier phase, for example, returning from the design phase on external pieces of software, such as databases or to the requirements phase. However, this involves costly libraries. rework. Each completed phase requires formal review and extensive documentation development. Thus, oversights 2 Software requirements: Establishes the expectations made in the requirements phase are expensive to correct for software functionality and identifies which system later. requirements the software affects. Requirements analysis includes determining interaction needed with Because the actual development comes late in the process, other applications and databases, performance one does not see results for a long time. This delay can be requirements, user interface requirements, and so on. disconcerting to management and customers. Many people 3 Architectural design: Determines the software also think that the amount of documentation is excessive framework of a system to meet the specific and inflexible. requirements. This design defines the major components and the interaction of those components, Although the waterfall model has its weaknesses, it is but it does not define the structure of each instructive because it emphasizes important stages of component. The external interfaces and tools used in project development. Even if one does not apply this the project can be determined by the designer. model, he must consider each of these stages and its relationship to his own project [4]. 4 Detailed design: Examines the software components defined in the architectural design stage and produces  Advantages : a specification for how each component is 1. Easy to understand and implement. implemented. 2. Widely used and known (in theory!). 3. Reinforces good habits: define-before- design, 5 Coding: Implements the detailed design design-before-code. specification. 4. Identifies deliverables and milestones. 5. Document driven, URD, SRD, … etc. Published 6 Testing: Determines whether the software meets the documentation standards, e.g. PSS-05. specified requirements and finds any errors present in 6. Works well on mature products and weak teams. the code. 7 Maintenance: Addresses problems and enhancement  Disadvantages : requests after the software releases. 1. Idealized, doesn’t match reality well. 2. Doesn’t reflect iterative nature of exploratory In some organizations, a change control board maintains development. the quality of the product by reviewing each change made 3. Unrealistic to expect accurate requirements so in the maintenance stage. Consider applying the full early in project. waterfall development cycle model when correcting 4. Software is delivered late in project, delays discovery problems or implementing these enhancement requests. of serious errors. 5. Difficult to integrate risk management. In each stage, documents that explain the objectives and 6. Difficult and expensive to make changes to describe the requirements for that phase are created. At the documents, ”swimming upstream”. end of each stage, a review to determine whether the 7. Significant administrative overhead, costly for small project can proceed to the next stage is held. Your teams and projects [6]. prototyping can also be incorporated into any stage from  Pure Waterfall the architectural design and after. This is the classical system development model. It consists Many people believe that this model cannot be applied to of discontinuous phases: all situations. For example, with the pure waterfall model, 1. Concept. the requirements must be stated before beginning the 2. Requirements. design, and the complete design must be stated before 3. Architectural design.
  • 4. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 97 ISSN (Online): 1694-0814 www.IJCSI.org 4. Detailed design. Risk reduction spirals can be added to the top of the 5. Coding and development. waterfall to reduce risks prior to the waterfall phases. The 6. Testing and implementation. waterfall can be further modified using options such as prototyping, JADs or CRC sessions or other methods of Table 1: Strengths & Weaknesses of Pure Waterfall requirements gathering done in overlapping phases [5]. Strengths Weaknesses 3.2 Iterative Development  Inflexible The problems with the Waterfall Model created a demand  Minimizes planning overhead since it can for a new method of developing systems which could be done up front.  Only the final phase provide faster results, require less up-front information, produces a non- and offer greater flexibility. With Iterative Development, documentation  Structure minimizes deliverable. the project is divided into small parts. This allows the wasted effort, so it development team to demonstrate results earlier on in the works well for process and obtain valuable feedback from system users. technically weak or  Backing up to address mistakes is Often, each iteration is actually a mini-Waterfall process inexperienced staff. with the feedback from one phase providing vital difficult. information for the design of the next phase. In a variation of this model, the software products, which are produced  Pure Waterfall Summary at the end of each step (or series of steps), can go into The pure waterfall model performs well for products with production immediately as incremental releases. clearly understood requirements or when working with well understood technical tools, architectures and infrastructures. Its weaknesses frequently make it inadvisable when rapid development is needed. In those cases, modified models may be more effective.  Modified Waterfall The modified waterfall uses the same phases as the pure waterfall, but is not based on a discontinuous basis. This enables the phases to overlap when needed. The pure waterfall can also split into subprojects at an appropriate phase (such as after the architectural design or detailed design). Table 2: Strengths & Weaknesses of Modified Waterfall Strengths Weaknesses  More flexible than the  Milestones are more Fig. 4 Iterative Development. pure waterfall model. ambiguous than the pure waterfall.  If there is personnel continuity between the  Activities performed 3.3 V-Shaped Model phases, documentation in parallel are subject can be substantially to miscommunication Just like the waterfall model, the V-Shaped life cycle is a reduced. and mistaken sequential path of execution of processes. Each phase assumptions. must be completed before the next phase begins. Testing  Implementation of easy is emphasized in this model more than the waterfall areas does not need to  Unforeseen model. The testing procedures are developed early in the wait for the hard ones. interdependencies can create problems. life cycle before any coding is done, during each of the phases preceding implementation. Requirements begin the  Modified Waterfall Summary life cycle model just like the waterfall model. Before
  • 5. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 98 ISSN (Online): 1694-0814 www.IJCSI.org Requirements System Test System development is started, a system test plan is created. The Planning Testing test plan focuses on meeting the functionality specified in requirements gathering. The high-level design phase focuses on system architecture and design. An integration test plan is created High Level Integration Integration in this phase in order to test the pieces of the software Design Test Testing Planning systems ability to work together. However, the low-level design phase lies where the actual software components are designed, and unit tests are created in this phase as well. Low Level Unit Test Unit Design Planning Testing The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use. Implementation  Advantages 1. Simple and easy to use. 2. Each phase has specific deliverables. Fig. 6 V-Shaped Life Cycle Model[7]. 3. Higher chance of success over the waterfall model due to the early development of test plans during the life cycle. 3.4 Spiral Model 4. Works well for small projects where requirements are easily understood. The spiral model is similar to the incremental model, with more emphases placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spiral builds on the baseline spiral. Requirements are gathered during the planning phase. In the risk analysis phase, a process is undertaken to identify risk and alternate solutions. A prototype is produced at the end of the risk analysis phase. Software is produced in the engineering phase, along with testing at the end of the phase. The evaluation phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral. In the spiral model, the angular component represents progress, and the radius of the spiral represents cost. Fig. 5 V-Model [3]  Advantages  Disadvantages 1. High amount of risk analysis. 2. Good for large and mission-critical projects. 1. Very rigid like the waterfall model. 3. Software is produced early in the software life cycle. 2. Little flexibility and adjusting scope is difficult and expensive.  Disadvantages 3. Software is developed during the implementation phase, 1. Can be a costly model to use. so no early prototypes of the software are produced. 2. Risk analysis requires highly specific expertise. 4. This Model does not provide a clear path for problems 3. Project’s success is highly dependent on the risk found during testing phases [7]. analysis phase. 4. Doesn’t work well for smaller projects [7].
  • 6. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 99 ISSN (Online): 1694-0814 www.IJCSI.org  Spiral model sectors under which the system would produce win-lose or lose- 1. Objective setting :Specific objectives for the phase are lose outcomes for some stakeholders. identified. 3. Identify and Evaluate Alternatives: Solicit 2. Risk assessment and reduction: Risks are assessed and suggestions from stakeholders, evaluate them with respect activities are put in place to reduce the key risks. to stakeholders' win conditions, synthesize and negotiate 3. Development and validation: A development model candidate win-win alternatives, analyze, assess, resolve for the system is chosen which can be any of the win-lose or lose-lose risks, record commitments and areas general models. to be left flexible in the project's design record and life cycle plans. 4. Planning: The project is reviewed and the next phase 4. Cycle through the Spiral: Elaborate the win conditions of the spiral is planned [1]. evaluate and screen alternatives, resolve risks, accumulate appropriate commitments, and develop and execute downstream plans [8]. 3.5 Extreme Programming An approach to development, based on the development and delivery of very small increments of functionality. It relies on constant code improvement, user involvement in the development team and pair wise programming . It can be difficult to keep the interest of customers who are involved in the process. Team members may be unsuited to the intense involvement that characterizes agile methods. Prioritizing changes can be difficult where there are multiple stakeholders. Maintaining simplicity requires extra work. Contracts may be a problem as with other approaches to iterative development. Fig. 7 Spiral Model of the Software Process[1].  WinWin Spiral Model The original spiral model [Boehm 88] began each cycle of the spiral by performing the next level of elaboration of the prospective system's objectives, constraints and alternatives. A primary difficulty in applying the spiral model has been the lack of explicit process guidance in determining these objectives, constraints, and alternatives. The Win-Win Spiral Model [Boehm 94] uses the theory W (win-win) approach [Boehm 89b] to converge on a Fig. 8 The XP Release Cycle system's next-level objectives, constraints, and alternatives. This Theory W approach involves identifying the system's stakeholders and their win conditions, and  Extreme Programming Practices using negotiation processes to determine a mutually Incremental planning: Requirements are recorded on satisfactory set of objectives, constraints, and alternatives Story Cards and the Stories to be included in a release are for the stakeholders. In particular, as illustrated in the determined by the time available and their relative priority. figure, the nine-step Theory W process translates into the The developers break these stories into development following spiral model extensions: "Tasks". 1. Determine Objectives: Identify the system life-cycle Small Releases: The minimal useful set of functionality stakeholders and their win conditions and establish initial that provides business value is developed first. Releases of system boundaries and external interfaces. the system are frequent and incrementally add 2. Determine Constraints: Determine the conditions functionality to the first release.
  • 7. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 100 ISSN (Online): 1694-0814 www.IJCSI.org Simple Design: Enough design is carried out to meet the 4. Test case construction is a difficult and specialized current requirements and no more. skill [6]. Test first development: An automated unit test framework is used to write tests for a new piece of functionality before functionality itself is implemented. 4. Conclusion and Future Work Refactoring: All developers are expected to re-factor the code continuously as soon as possible code improvements After completing this research , it is concluded that : are found. This keeps the code simple and maintainable. 1. There are many existing models for developing Pair Programming: Developers work in pairs, checking systems for different sizes of projects and each other’s work and providing support to do a good job. requirements. Collective Ownership: The pairs of developers work on 2. These models were established between 1970 and all areas of the system, so that no islands of expertise 1999. develop and all the developers own all the code. Anyone 3. Waterfall model and spiral model are used commonly can change anything. in developing systems. Continuous Integration: As soon as work on a task is 4. Each model has advantages and disadvantages for the complete, it is integrated into the whole system. After any development of systems , so each model tries to such integration, all the unit tests in the system must pass. eliminate the disadvantages of the previous model Sustainable pace: Large amounts of over-time are not considered acceptable as the net effect is often to reduce Finally, some topics can be suggested for future works: code quality and medium term productivity. On-site Customer: A representative of the end-user of the 1. Suggesting a model to simulate advantages that are system (the Customer) should be available full time for the found in different models to software process use of the XP team. In an extreme programming process, management. the customer is a member of the development team and is 2. Making a comparison between the suggested model responsible for bringing system requirements to the team and the previous software processes management for implementation. models. 3. Applying the suggested model to many projects to  XP and agile principles ensure of its suitability and documentation to explain 1. Incremental development is supported through small, its mechanical work. frequent system releases. 2. Customer involvement means full-time customer REFERENCES engagement with the team. [1] Ian Sommerville, "Software Engineering", Addison 3. People not process through pair programming, Wesley, 7th edition, 2004. collective ownership and a process that avoids long [2] CTG. MFA – 003, "A Survey of System Development working hours. Process Models", Models for Action Project: Developing 4. Change supported through regular system releases. Practical Approaches to Electronic Records Management 5. Maintaining simplicity through constant refactoring of and Preservation, Center for Technology in Government code [1]. University at Albany / Suny,1998 . [3] Steve Easterbrook, "Software Lifecycles", University  Advantages of Toronto Department of Computer Science, 2001. 1. Lightweight methods suit small-medium size projects. [4] National Instruments Corporation, "Lifecycle Models", 2. Produces good team cohesion. 2006 , http://zone.ni.com. 3. Emphasises final product. [5] JJ Kuhl, "Project Lifecycle Models: How They Differ 4. Iterative. and When to Use Them",2002 www.business- 5. Test based approach to requirements and quality esolutions.com. assurance. [6] Karlm, "Software Lifecycle Models', KTH,2006 . [7] Rlewallen, "Software Development Life Cycle  Disadvantages Models", 2005 ,http://codebeter.com. 1. Difficult to scale up to large projects where [8] Barry Boehm, "Spiral Development: Experience, documentation is essential. Principles, and Refinements", edited by Wilfred J. 2. Needs experience and skill if not to degenerate into Hansen, 2000 . code-and-fix. 3. Programming pairs is costly. Nabil Mohammed Ali Munassar was born in Jeddah, Saudi Arabia in 1978. He studied Computer Science at University of Science and Technology, Yemen from 1997 to 2001. In 2001 he
  • 8. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 101 ISSN (Online): 1694-0814 www.IJCSI.org received the Bachelor degree. He studied Master of Information Technology at Arab Academic, Yemen, from 2004 to 2007. Now rd he Ph.D. Student 3 year of CSE at Jawaharlal Nehru Technological University (JNTU), Hyderabad, A. P., India. He is working as Associate Professor in Computer Science & Engineering College in University Of Science and Technology, Yemen. His area of interest include Software Engineering, System Analysis and Design, Databases and Object Oriented Technologies. Dr.A.Govardhan: received Ph.D. degree in Computer Science and Engineering from Jawaharlal Nehru Technological University in 2003, M.Tech. from Jawaharlal Nehru University in 1994 and B.E. from Osmania University in 1992. He is Working as a Principal of Jawaharlal Nehru Technological University, Jagitial. He has published around 108 papers in various national and international Journals/conferences. His research of interest includes Databases, Data Warehousing & Mining, Information Retrieval, Computer Networks, Image Processing, Software Engineering, Search Engines and Object Oriented Technologies.