21
Mobi Quiz Methodology and Work Plan Version 1.0 Group Id: S1302B9CE7 Supervisor Name: Sarfraz Ahmad Awan

Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Mobi QuizMethodology and Work Plan

Version 1.0

Group Id: S1302B9CE7

Supervisor Name: Sarfraz Ahmad Awan 

Page 2: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Revision History

Date (dd/mm/yyyy)

Version Description Author

Fri 05 Jul, 2013 1.0Methodology and Work Plan of

Mobi Quiz MC110402675

Page 3: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Table of contents

1. Introduction of the Planning Phase

2. Methodologies

2.1 Existing Methodologies

2.2 Adopted Methodology

2.3 Reasons for choosing the Methodology

3. Work Plan

Page 4: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

1. Introduction of the planning phase:

The important task in creating a software product is extracting the requirements or requirements analysis. Customers typically have an abstract idea of what they want as an end result, but not what software should do. Incomplete, ambiguous, or even contradictory requirements should be recognized at this point. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect.

Project planning is part of project management, which relates to the use of schedules such as Gantt charts to plan and subsequently report progress within the project environment. Initially, the project scope is defined and the appropriate methods for completing the project are determined.

Once the general requirements are gleaned from the client, an analysis of the scope of the development should be determined and clearly stated. Certain functionality may be out of scope of the project as a function of cost or as a result of unclear requirements at the start of development.

If the development is done externally, this document can be considered a legal document so that if there are ever disputes, any ambiguity of what was promised to the client can be clarified.Advantages:

It involves creating of a set of plans to help guide your team through the execution and closure phases of the project. The plans created during this phase will help you to manage time, cost, quality, change, risk and issues.

Page 5: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

2. Methodologies:

The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people use to develop these systems.

Methodology is generally a guideline for solving a problem, with specific components such as phases, tasks, methods, techniques and tools

2.1 Existing Methodologies:

There are a number of methodologies that are used in today’s computer life according to the project. The existing methodologies are as below:

2.1.1 Waterfall Model:

Description:

All projects can be managed better when segmented into a hierarchy of chunks such as phases, stages, activities, tasks and steps.  In system development projects, the simplest rendition of this is called the Waterfall methodology.

In the traditional waterfall methodology, first comes the analysis phase, then the design phase, followed by the implementation phase, with testing completing the process. The team that does each phase is different and there may be a management decision point at each phase transition.

The waterfall provides an orderly sequence of development steps and helps ensure the adequacy of documentation and design reviews to ensure the quality, reliability, and maintainability of the developed software.

The Waterfall Model is a documentation-driven model. It therefore generates complete and comprehensive documentation and hence makes the maintenance task much easier.

It however suffers from the fact that the client feedback is received when the product is finally delivered and hence any errors in the requirement specification are not discovered until the product is sent to the client after completion. This therefore has major time and cost related consequences.

Page 6: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

The graphical representation of this model is following:

Advantages:

It is a linear model and the linear models are the most simple to be implemented.

Waterfall model provides a template into which methods for analysis, design, coding, testing and support can be placed.

It remains a widely used procedural model for software engineering.

The amount of resources required to implement this model is very minimal.

One great advantage of the waterfall model is that documentation is produced at every stage of the waterfall model development. This makes the understanding of the product designing procedure simpler.

After every major stage of software coding, testing is done to check the correct running of the code.

Requirement Definition

Operation & Maintenance

Integration & System Testing

Implementation & Unit Testing

System & Software Design

Page 7: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Disadvantages:

Real project rarely follow the sequential flow that the model proposes. Although the waterfall model can accommodate iteration, it does so indirectly. As a result, change can cause confusion as the project team proceeds.

The waterfall model requires all requirements explicitly, but it is often difficult for the customer to state all requirements explicitly.

A working version of the program will not be available until late in the project time-span.

The greatest disadvantage of the waterfall model is that until the final stage of the development cycle is complete, a working model of the software does not lie in the hands of the client.

2.1.2 Rapid Application Development Model:

Rapid application development is a software development methodology, which involves iterative development and the construction of prototypes. It is a merger of various structured techniques, especially the data driven Information Engineering with prototyping techniques to accelerate software systems development.

It is a high speed adaptation of the linear sequential model in which fully functional system in a very short time (2-3 months). This model is only applicable in the projects where requirements are well understood and project scope is constrained. Because of this reason it is used primarily for information systems.

2.1.2.1 Spiral Model:

Description:

This model was developed by Barry Boehm. The main idea of this model is to avert risk as there is always an element of risk in development of software. In its simplified form, the Spiral Model is Waterfall model plus risk analysis.

In this case each stage is preceded by identification of alternatives and risk analysis and is then followed by evaluation and planning for the next phase. If risks cannot be resolved, project is immediately terminated.

Page 8: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

As waterfall methodology offers an orderly structure for software development, demands for reduced time-to-market make its series steps inappropriate. The next evolutionary step from the waterfall is where the various steps are staged for multiple deliveries or handoffs. 

The ultimate evolution from the waterfall is the spiral, taking advantage of the fact that development projects work best when they are both incremental and iterative, where the team is able to start small and benefit from enlightened trial and error along the way.  A graphical representation of the spiral model is following:

Advantages:

Risk reduction mechanisms are in place.

Supports iteration and reflects real-world practices.

Systematic approach

Estimates (budget, schedule, etc.) become more realistic as work progresses, because important issues are discovered earlier.

Page 9: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

It is more able to cope with the changes that software development generally entails.

Software engineers can get their hands in and start working on a project earlier.

Disadvantage:

Requires expertise in risk evaluation and reduction, Complex, relatively difficult to follow strictly:

Applicable only for large systems.

Highly customized limiting re-usability.

Applied differently for each application.

Risk of not meeting budget or schedule.

Risk of not meeting budget or schedule.

2.1.3 Object oriented Methodology:

Object-oriented lifecycle models appreciate the need for iteration within and between phases. There are a number of these models. All of these models incorporate some form of iteration, parallelism, and incremental development.

2.1.3.1 Extreme programming Model:

Description:

Extreme Programming is the best known iterative process. In extreme programming, the phases are carried out in extremely small steps compared to the older batch processes.

The first pass through the steps might take a day or a week, rather than the months or years of each complete step in the Waterfall model.

The graphical representation is following:

Page 10: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people
Page 11: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Review

Advantages:

Extreme Programming has different key advantages for different audiences.

For developers, XP allows to focus on coding and avoid needless paperwork and meetings. It provides a more social atmosphere, more opportunities to learn new skills, and a chance to go home at a decent time each night.

For the Customer, XP creates working software faster, and that software tends to have very few defects.

For management, XP delivers working software for less money, and the software is more likely to do what the end users actually want.

Disadvantages:

Disadvantages of the XP are followings:

The biggest disadvantage of Extreme Programming is hard to do. It's difficult to get many developers to accept the practices, and it takes a lot of discipline to keep doing them all.

Customers may not like the idea of having to be so involved. Management may have trouble adapting to a process that, itself, adapts to the changing needs of the business.

Requirements Operational Testing

Specification

High Level Design

Coding

Unit Testing

Integration Testing

Page 12: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Certain people may feel their jobs are being threatened, particularly architects, testers, and project managers.

2.1.4 Rapid Prototyping Model:

The Rapid Prototyping Model is used to overcome issues related to understanding and capturing of user requirements. In this model a mock-up application is created rapidly to solicit feedback from the user.

Once the user requirements are captured in the prototype to the satisfaction of the user, a proper requirement specification document is developed and the product is developed from scratch.

2.1.4.1 Incremental model:

Description:

Various methods are acceptable for combining linear and iterative systems development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process.

A series of mini-Waterfalls are performed, where all phases of the Waterfall development model are completed for a small part of the systems, before proceeding to the next incremental.

Page 13: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

The graphical representation of the incremental model is following:

Development Maintenance

Requirement Phase

Verify

Specification Phase

Verify

Architectural Design

Verify

Detailed Design,Implementation &

IntegrationTest Deliver to client.

Retirement

Maintenance Phase

Page 14: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

Advantages:

Generates working software quickly and early during the software life cycle.

More flexible, less costly to change scope and requirements. Easier to test and debug during a smaller iteration. Easier to manage risk because risky pieces are identified and handled during its

iteration.

Iterations are easily managed milestone.

Disadvantages:

Each phase of an iteration is rigid and do not overlap each other.

Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

Page 15: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

2.2 Adopted Methodology:

The adopted methodology for this project is VU Process Model which is a combination of waterfall and spiral models.

The graphical representation of VU Process Model is following:

Requirement Definition

Operation & Maintenance

Integration & System Testing

Implementation & Unit Testing

System & Software Design

Page 16: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

2.3 Reasons for choosing the Methodology

There are several reasons for adopted methodology for this project. Salient features of waterfall are given below:

It is the formal method. It is type of top-down development. It is composed of independent phases to be done sequentially. In it resources can be held constant but the system size grows. The spiral size corresponds to system size, while the distance between the coils of the

spiral indicates resources.

Page 17: Mobi Quiz - WordPress.com · Web view2. Methodologies: The Software Development Life Cycle is a process of creating or altering information systems, and methodologies that people

3. Work Plan: