P.p asngmnt miss juss


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

P.p asngmnt miss juss

  1. 1. INTRODUCTION TO BASIC PROGRMMING COM 1013 Chapter 6: software development method Types of Software Development Strategies JACQULYN ANNABELLA KASNIDAR BINTI NURDIN
  2. 2. What is software development ?? A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system. Common methodologies include waterfall, prototyping, incremental development, spiral development, rapid application development, and extreme programming.
  3. 3. Rapid application development (RAD) waterfall prototyping Common methodologies Incremental development Agile development Spiral development
  4. 4. RAPID APPLICATION DEVELOPMENT (RAD)  Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping.
  5. 5.  Requirements Planning phase – combines elements of the system planning and systems analysis phases of the System Development Life Cycle (SDLC). Users, managers, and IT staff members discuss and agree on business needs, project scope, constraints, and system requirements. It ends when the team agrees on the key issues and obtains management authorization to continue.  User design phase – during this phase, users interact with systems analysts and develop models and prototypes that represent all system processes, inputs, and outputs. The RAD groups or subgroups typically use a combination of Joint Application Development (JAD) techniques and CASE tools to translate user needs into working models. User Design is a continuous interactive process that allows users to understand, modify, and eventually approve a working model of the system that meets their needs.
  6. 6.  Construction phase – focuses on program and application development task similar to the SDLC. In RAD, however, users continue to participate and can still suggest changes or improvements as actual screens or reports are developed. Its tasks are programming and application development, coding, unit-integration and system testing.  Cutover phase – resembles the final tasks in the SDLC implementation phase, including data conversion, testing, changeover to the new system, and user training. Compared with traditional methods, the entire process is compressed. As a result, the new system is built, delivered, and placed in operation much sooner.
  7. 7. Advantage & Disadvantage of RAD Advantages  Flexible and adaptable to changes  Can handle large projects without a doubt  RAD realizes an overall reduction in project risk.  Generally Rad incorporates short development cycles (23 months). Disadvantages  Can’t use for small projects  Requires more resources and money to implement RAD  All applications are not competible with RAD  RAD is not appropriate hen technical risks are high  Need both customer and developer commitments to complete a project. Otherwise RAD wil fail
  8. 8. SPIRAL DEVELOPMENT  The Spiral Development ( or Lifecycle) Model is a systems development method used in information technology.  It combines the features of the prototyping model and the waterfall model.  The spiral model is intended for large, expensive and complicated projects.
  9. 9. Spiral model
  10. 10. Each loop has four sections or quadrants : 1. To determine the objectives, alternatives and constraints. We try to understand the product objectives, alternatives in design and constraints imposed because of cost, technology, schedule, etc. 2. Risk analysis and evaluation of alternatives. Here we try to find which other approaches can be implemented in order to fulfill the identified constraints. Operational and technical issues are addressed here. Risk mitigation is in focus in this phase. And evaluation of all these factors determines future action. 3. Execution of that phase of development. In this phase we develop the planned product. Testing is also done. In order to do development, waterfall or incremental approach can be implemented. 4. Planning the next phase. Here we review the progress and judge it considering all parameters. Issues which need to be resolved are identified in this phase and necessary steps are taken.
  11. 11. Advantage and Disadvantage Spiral Advantages 1)spiral Life Cycle Model is one of the most flexible SDLC models in place. Development phases can be determined by the project manager, according to the complexity of the project. 2) It is suitable for high risk projects, where business needs may be unstable. 3) Risk management is one of the in-built features of the model, which makes it extra attractive compared to other models. Disadvantages 1) Cost involved in this model is usually high. 2) It is a complicated approach especially for projects with a clear SRS. 3) Skills required, to evaluate and review project from time to time, need expertise. 4) Rules and protocols should be followed properly to effectively implement this model. Doing so, through-out the span of project is tough.
  12. 12. AGILE SOFTWARE DEVELOPMENT  Agile methodology is an alternative to traditional project management, typically used in software development. It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development.  Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, crossfunctional teams
  13. 13. Agile model
  14. 14. The Agile Manifesto is based on twelve principles:  Customer satisfaction by rapid delivery of useful software  Welcome changing requirements, even late in development  Working software is delivered frequently (weeks rather than months)  Working software is the principal measure of progress  Sustainable development, able to maintain a constant pace  Close, daily cooperation between business people and developers  Face-to-face conversation is the best form of communication (co-location)  Projects are built around motivated individuals, who should be trusted  Continuous attention to technical excellence and good design  Simplicity—the art of maximizing the amount of work not done— is essential  Self-organizing teams  Regular adaptation to changing circumstances
  15. 15. Advantage and Disadvantage Agile • • • • Advantages Customer satisfaction by rapid, continuous delivery of useful software. People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other. Working software is delivered frequently (weeks rather than months). Face-to-face conversation is the best form of communication. Disadvantages • In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle. • There is lack of emphasis on necessary designing and documentation. • The project can easily get taken off track if the customer representative is not clear what final outcome that they want.
  16. 16. What is prototyping??  Software prototyping, refers to the activity of creating prototypesp of software applications, i.e., incomplete versions of the software program being developed. It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing  A prototype is a model or a program which is not based on strict planning, but is an early approximation of the final product or software system. A prototype acts as a sample to test the process. From this sample we learn and try to build a better final product..
  17. 17. Advantage and disadvantage of prototype Advantages of Prototype model:  Users are actively involved in the development  Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed.  Errors can be detected much earlier.  Quicker user feedback is available leading to better solutions.  Missing functionality can be identified easily Disadvantages of Prototype model: o Leads to implementing and then repairing way of building systems. o Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. o Incomplete application may cause application not to be used as the full system was designed Incomplete or inadequate problem analysis.