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 CycleModel
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
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