Chapter 4

Cards (149)

  • June 10, 1872, Rizal with his brother Paciano,took the entrance exam in Colegio de San Juan de Letran but enrolled at the ateneo Municipal de Manila at age 11
    Reasons why Rizal nearly refused admission by the college registrar in ateneo
  • His mother was a native Filipina who could barely speak Spanish.
  • The family name "Rizal" is an indication that they are not pure Spaniards.
  • Software Life Cycle is a structure imposed on the development of a software product
  • It describes the events that occur between the birth and death of a software project inclusively
  • Issues regarding specification or design are never addressed
  • Code and Fix Life Cycle Model
  • Developers build a product that is rebuilt until the customer is satisfied
  • Advantage:
    • May work well for small systems
  • Disadvantage:
    • Very unsatisfactory for larger systems
    • As the code size increases, the understandability and maintainability of the system decreases
  • Waterfall Model
  • Most common and classic of life cycle models
  • Each phase must be completed before the next phase can begin
  • Advantages:
    • Simple and easy to use
    • Easy to manage due to the rigidity of the model
    • Works well for smaller projects where requirements are very well understood
  • Disadvantages:
    • Adjusting scope during the life cycle can kill a project
    • No working software is produced until late during the life cycle
    • High amounts of risk and uncertainty
    • Poor model for complex and object-oriented projects
    • Poor model for long and ongoing projects
    • Poor model where requirements are at a moderate to high risk of changing
    1. Shaped Model
  • Similar to the waterfall model, a sequential path of execution of processes
  • Testing is emphasized more than the waterfall model
  • Advantages:
    • Simple and easy to use
    • Each phase has specific deliverables
    • Higher chance of success over the waterfall model due to the development of test plans early on
    • Works well for small projects where requirements are easily understood
  • Disadvantages:
    • Very rigid, like the waterfall model
    • Software is developed during the implementation phase, so no early prototypes are produced
    • If changes happen midway, test and requirement documents need to be updated
  • Incremental Model
  • Divides the whole requirement into various builds
  • Advantages:
    • Generates working software quickly and early during the software life cycle
    • More flexible and less costly to change scope and requirements
    • Easier to test and debug during a smaller iteration
    • Customer can respond to each build
    • Lowers initial delivery cost
  • Disadvantages:
    • Needs good planning and design
    • Needs a clear and complete definition of the whole system before it can be built incrementally
    • Total cost is higher than waterfall
  • RAD Model
  • Rapid Application Development model, a type of incremental model
  • Components or functions are developed in parallel as mini projects
  • Advantages:
    • Reduced development time
    • Increases reusability of components
    • Quick initial reviews occur and encourage customer feedback
  • Disadvantages:
    • Depends on strong team and individual performances for identifying business requirements
    • Only systems that can be modularized can be built using RAD
    • Requires highly skilled developers/designers
  • Agile Model
  • Software is developed in incremental, rapid cycles
  • Advantages:
    • Customer satisfaction by rapid, continuous delivery of useful software
    • People and interactions are emphasized
    • Working software is delivered frequently
    • Close cooperation between business people and developers
  • Disadvantages:
    • Difficult to assess effort required at the beginning
    • Lack of emphasis on necessary designing and documentation
    • Project can easily get taken off track
    • Only senior programmers are capable of making decisions
  • Spiral Model
  • Similar to the incremental model with more emphasis on risk analysis
  • Advantages:
    • High amount of risk analysis
    • Good for large and mission-critical projects
    • Software is produced early in the software life cycle
  • Disadvantages:
    • Can be a costly model to use
    • Risk analysis requires highly specific expertise
    • Doesn't work well for smaller projects
  • Prototyping Model
  • Begins with requirements gathering and involves building a working model (prototype)
  • Advantages:
    • Provides a working model early for assessment
    • Clarifies vague requirements and improves communication