7 Systems development Methodologies
What is done in the *Requirements Gathering and analysis* phase in the Waterfall Life Cycle Model?
- All possible requirements of the system are captured and document in a requirements specification document.
What is done in the *Maintenance* phase in the Waterfall Life Cycle Model?
- Patches for unforeseen issues, enhancement requests that are new release versions
What is done in the *Testing* phase in the Waterfall Life Cycle Model?
- Release testing of entire system implemented in prior phase. User Acceptance Testing testing by end-user.
What is done in the *System Design* phase in the Waterfall Life Cycle Model?
- Requirements from phase 1 are studied and technical design is prepared (overall architecture to include hardware and system requirements).
What is done in the *Implementation* phase in the Waterfall Life Cycle Model?
- Source code, database, user documentation, unit testing.
What is done in the *Deployment* phase in the Waterfall Life Cycle Model?
- installed on customer environment.
What two questions we must ask when we review and analyze each phase when using the Waterfall Life Cycle Model
1, "Is the project still feasible?" 2, "Do you continue or discard the project?"
Name 4 Characteristics of Rapid Application Development Model
1, *Based on prototyping and iterative development* with no specific planning involved. 2, *Short development cycle.* 3, Reuse of the existing prototypes such as components, continuous integration and rapid delivery. 4, Software development methodology that uses *minimal planning in favor of rapid prototyping.*
What are the 4 Advantages of the V-Shaped Model?
1, *Emphasis is on planning for verification and validation* of the product in early stages of product development 2, Each deliverable must be testable 3, Project management can track projects by milestones 4, Easy to use
Give 5 instance when to use the Incremental Model? http://www.youtube.com/watch?v=LFAK3QhdMrQ http://www.youtube.com/watch?v=9cBkihYP1rY&list=PL45DEEF2276080C86&index=3&feature=plpp_video
1, *Most of the requirements are known up-front but are expected to evolve over time* 2, A need to *get basic functionality to the market early* 3, On *projects* which have *lengthy development schedules* 4, On projects with some unclear/uncertain requirements 5, On a project with new technology
Give 4 instance when to use the Prototype Model?[http://www.youtube.com/watch?v=xCuSR7kHH4Y&feature=related]
1, *Users are unsure of their needs* 2, *aids functional gap closure* 3, Requirements are complex—beneficial in closing the gap in functional understanding between software provider and end users. 4, *New product line* 5, Significant changes are expected in terms of research and exploration
Name 4 Characteristics of the Prototype Model
1, A Prototype is an early approx. or build of a final system/product. 2, The Prototype is re-worked and tested until an acceptable prototype is developed. 3, Once the prototype is successful, the complete system and product is developed. 4, Prototype Procedure
What are 2 things to know about the starting with fundamental requirements in the Incremental Model
1, A full set of specifications are not required to start. 2, It start with priority requirements in that the Priority must be defined by the client
Name the 5 Modelling phases of the Rapid Application Development Model
1, Business Modelling 2, Data Modeling 3, Process Model 4, Application Generation 5, Testing and Turnover
What are the 5 Disadvantages of the Spiral model?
1, Can be a *costly* model to use (see below). 2, *Risk analysis requires highly specific expertise.* 3, Project's success (fate) is tightly coupled to the extent and quality of the risk analysis phase. 4, Requires rigid adherence to the spiral methodology. 5, *Doesn't work well for smaller projects.*
What are the 7 Advantages of the Prototype Model?
1, Customers can *"see"* the system requirements as they are being gathered 2, *Developers learn from customers* 3, A more *accurate end product* 4, Unexpected requirements accommodated 5, Allows for *flexible design* and *development* 6, Steady, visible *signs of progress* produced 7, *Interaction with the prototype stimulates awareness* of additional needed functionality
What are 4 Design phases that happen in the Spiral model?
1, Design Generation 2, Design Realization 3, Design Evaluation 4, Problem Analysis
What are 4 question we usually ask when we do risk assessment during the Evaluation Phase
1, Did we overrun on agreed cost? 2, Was scope cut? 3, Did any risks become issues, & 4, What were the impacts of the risk that became an issue
What 2 things happens at each *"Multi-Waterfall" Cycle*
1, Each Cycle is broken down into smaller cycles 2, Each increment goes through the requirements, design, implementation & testing phases
What are 3 things to know about the Multiple Cycles of Development of the Incremental Model
1, Each increment gets more complex 2, The Solution becomes more fine tuned with each increment 3, Increments effectively act as prototypes to help elicit requirements for later increments.
What are the 2 Disadvantages of the Incremental Model?
1, Each phase of an iteration is rigid—there is no overlap between phases. 2, *Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.*
Give 4 instance when to use the V-Shaped Model?
1, Excellent choice for systems requiring *high reliability* 2, *However, all requirements must be known upfront—is this realistic?* 3, Product definition is *stable* 4, Solution and technology are known
What 2 things to keep in mind about the SLDC
1, Generally the SDLC is synonymous with the process models of software development 2, SDLC is also sometimes used in the context of project management
What are the 6 Advantages of the Spiral model?
1, High amount of risk analysis. 2, Risks are explicitly assessed and resolved throughout the process 3, Focus on early error detection and design flaws. 4, Adaptive model—can accept changes as requirements are added piecemeal. 5, Good for large and mission-critical projects. 6, Software is produced early in the software life cycle.
What are 3 important things to understand about the many variety of Software Process Model?
1, Important to understand when each model should be used 2, Important to understand Advantages 3, Important to understand Disadvantages
Name 6 Characteristics of the Incremental Model
1, It starts with fundamental requirements 2, It has Multiple Cycles of Development 3, It also known as *"Multi-Waterfall" Cycle* 4, Working software is produced at the end of each iteration. 5, Each iteration is built on the previous iteration. 6, *Once development starts on an iteration, its requirements are frozen.*
What are the 10 Disadvantages of Waterfall Life Cycle Model?
1, It's difficult to respond to changing customer requirements 2, Adjusting scope during the life cycle can kill a project 3, No working software is produced until late during the life cycle as similarly testing is left late in the day 4, Limited user engagement—almost none post the analysis phase 5, Users are rarely prepared for their introduction to the new system, which occurs long after the initial idea for the system was introduced 6, If the project team misses important requirements, expensive post-implementation re-work may be needed 7, High amounts of risk and uncertainty 8, It is a Poor model for complex and object-oriented projects 9, It is a Poor model for business related projects with ill-defined requirements 10, Integration - "big bang" approach at the end
Name 4 Characteristics of the V-Shaped Model
1, Its a variant of the Waterfall Model 2, It emphasizes verification and validation 3, Testing is planned in parallel with each Waterfall phase 4, Attempts to mitigate inherent risks with vanilla Waterfall.
What are the 6 typical stages of a SDLC
1, Planning 2, Defining 3, Designing 4, Building 5, Testing 6, Deployment
What are 4 Process phases that happen in the Spiral model?
1, Planning 2, Risk Analysis 3, Engineering 4, Evaluation
What are the 5 Prototype Procedure
1, Requirement Gathering (Objectives, Functionalities .. etc) 2, *Quick design* and construction of prototype 3, Prototype is *evaluated by Client/User* 4, Prototype gets refined by an iterative process. 5, Given a stable prototype, final product is developed.
The 6 steps for Building a System using the Waterfall Life Cycle Model
1, Requirement analysis 2, System design 3, Implementation 4, Testing 5, Deployment 6, Maintenance or Support
Name the four phases in the Verification Phases before the Coding Phase in the V-Shaped Model
1, Requirements Analysis 2, System Design 3, Architectural Design 4, Module Design
Give 4 ways when to use the Waterfall Life Cycle Model method
1, Requirements are very well documented, clear and fixed 2, Technology is understood 3, Ample resources with required expertise are available 4, The Project is short
What are the 4 Advantages of Waterfall Life Cycle Model?
1, Simple and easy to use as it favored by traditional management as "progress" highly visible 2, Easy to manage due to the rigidity of the model - each phase has specific deliverables and a review process. 3, Low complexity - Phases are processed and completed one at a time. 4, Works well for smaller projects where requirements are very well understood/stable
Name the two HLD in the Verification Phases in the V-Shaped Model
1, System Design 2, Architectural Design
What are the 7 Advantages of the Incremental Model?
1, System functionality is available earlier and the *customer does not have to wait as long to see value creating working software.* 2, *Early increments act as a prototype* to help elicit requirements for later increments. 3, The highest priority functionalities tend to receive more testing. 4, *More flexible* - less costly to change scope and requirements. 5, *Easier to test and debug during a smaller iteration.* 6, Easier to manage risk because risky pieces are identified and handled during its iteration 7, Each iteration is an easily managed milestone.
What are the 4 Disadvantages of the Prototype Model?
1, Tendency to abandon structured program development for "code-hack-and-fix" development 2, Historically has a bad reputation for "quick-and-dirty" methods 3, Often focus can be diverted to look-and-feel issues rather than business process/functionality 4, Overall maintainability may be overlooked 5, Original plan was to have throw-away prototype, but pressure placed to use prototype as foundation of real product—or, worse still, the prototype is viewed as the actual product by the end user. 6, *Process may continue forever which is referred to as scope creep*
Name 10 Characteristics of the Spiral Model
1, The spiral model is similar to the incremental model, with *more emphases placed on risk analysis.* 2, The *Spiral Model works by building progressively more complete versions of the software by starting at the center of the spiral and working outwards.* 3, *With each loop of the spiral, the customer evaluates the work and suggestions are made for its modification.* 4, Focused on risk management. 5, Combines features of Prototyping and the Waterfall model. 6, Favored for large, expensive, and complicated projects. 7, The spiral model has four phases 8, In the spiral model, the angular component represents progress, and the radius of the spiral represents cost. 9, The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. 10, Each subsequent spiral builds on the baseline spiral.
What are two things we must ensure before fully completing each phase and moving onto the next phase when using the the Waterfall Life Cycle Model
1, There are no overlapping Phases 2, There are no simultaneous Phases
Name the four phases in the Validation Phases before the Coding Phase in the V-Shaped Model
1, Unit Testing 2, Integration Testing 3, System Testing 4, Acceptance Testing
What the 3 Main Phases the V-Shaped Model
1, Verification Phases 2, Coding Phases 3, Verification Phases
What are the 4 Disadvantages of the V-Shaped Model?
1, Very rigid, like the waterfall model. 2, Little flexibility and adjusting scope is difficult and expensive. 3, Software is developed during the implementation phase, so no early prototypes of the software are produced. 4, Not suitable for projects where requirements are at a moderate to high risk of changing.
What are the 5 seven Characteristics of the Waterfall Life Cycle Model
1, Very simple to understand 2, Very simple to use 3, Very little flexibility (must get it right first time) 4, Each Phase must be completed in full before moving on to the next Phase 5, Each Phase must be Reviewed and Analysed before moving on
*What are the 6 types of Software Process Models?*
1, Waterfall Model 2, Rapid Application Development (RAD) Model 3, Incremental Model 4, Spiral Model 5, Prototype Model 6, Agile Model
Give 8 instance when to use the Spiral Model?
1, When creation of a prototype is appropriate 2, When costs and risk evaluation are important 3, For medium to high-risk projects 4, Long-term project commitment unwise because of potential changes to economic priorities 5, Users are unsure of their needs 6, Requirements are complex 7, New product line 8, Significant changes are expected in terms of research and exploration
Give 2 examples of when to use the Waterfall Life Cycle Model method
1, multi-billion dollar long-running military projects make use of Waterfall due to contractual requirements stipulating a full specification often backed by formal methods. 2, Legislation requirements can also mean that Waterfall must be used, e.g., civil aviation authorities requirements for mathematically sound specifications to be submitted for planned development on air traffic control systems, aircraft control systems
What year was the Waterfall Life Cycle Model create
1970
How many Main Phases is the V-Shaped Model made up of?
3 Phases
How many phases in a Basic Structure & outline of a Waterfall Life Cycle Model
6 phase
What type of Cycle is the Waterfall Life Cycle Model
A Classic Life Cycle Model (structured design - replaced ad-hoc and undisciplined approach)
What is one thing to note with each loop of the spiral model?
Additionally, with each loop of the spiral, a risk analysis is performed which results in a 'go / no-go' decision. If the risks are determined to be too great then the project is terminated
What is done in the *Evaluation Phase* of the Spiral Model?
Allows the customer to evaluate the output of the project to date before the project continues to the next spiral.
What is done in the *Data Modeling * in the Rapid Application Development Model?
Business Modelling phase is reviewed and analyzed to form sets of data objects and their relationships.
What is done in the *Acceptance Testing* Phase of the Validation Phases in the V-Shaped Model?
Carried out by business user and includes functional and non functional testing.
What happens after the Verification Phases in the V-Shaped Model
Coding Phase
What is done in the *Coding* phase in the V-Shaped Model?
Coding of the system modules designed in the design phase is taken up in the Coding phase. Coding guidelines and standards adhered to.
What are two phases prior to Requirements Analysis
Conception and Initiation
What is done in the *Module Design* phase of the Verification Phases in the V-Shaped Model?
Detailed internal design for all the system modules is specified, referred to as Low Level Design
What is done in the *System Design* phase of the Verification Phases in the V-Shaped Model?
Detailing the complete hardware and communication setup for the product under development. System test plan is developed based on the system design referred to as High Level Design
What is one thing keep in mind about each iteration in the Incremental Model?
Each iteration consists of a mini-Waterfall process.
What does HLD Stand for in terms of Software Engineering
High Level Design
What is done in the *Risk Analysis Phase* of the Spiral Model?
Identify risk and alternate solutions that are some kind of risk mitigation to be considered and a prototype is produced at the end of the risk analysis phase
What does *IS* stand for?
Information System
What is done in the *Integration Testing* Phase of the Validation Phases in the V-Shaped Model?
Integration testing is associated with the architectural design phase.
What is the *systems development methodology*
Is a standard set of steps used for Organizations to develop and support their information systems
What is the SDLC in terms of the systems development methodology
It is a common methodology for systems development in many organizations.
What is done in the *Unit Testing* Phase of the Validation Phases in the V-Shaped Model?
It is testing done at code level and helps eliminate bugs at an early stage, though all defects cannot be uncovered by unit testing.
What is done in the *Requirements Analysis* phase of the Verification Phases in the V-Shaped Model?
It is the first phase in the development cycle where the product requirements are understood from the customer perspective. This phase involves detailed communication with the customer to understand his expectations and exact requirements
How is SDLC also used in context of project management
It is used where we are concerned not just with all the stages by which an information system is developed from initial conception to life-cycle maintenance/management, but also with the resources and scheduling of such an endeavour.
What does using a Software Perspective allow us to do as Software Engineers?
It lets focus on the Software Development process as a series of planned activities to develop or alter the software products
What do systems development methodology do
It marks the phases or steps of information systems development
What does LLD Stand for in terms of Software Engineering
Low Level Design
Name the LLD in the Verification Phases in the V-Shaped Model
Module Design
What does QA Stand for in terms of Software Engineering
Quality Assurance
What does RAD Stand for in terms of Software Engineering
Rapid Application Development
What is done in the *Planning Phase* of the Spiral Model?
Requirements are gathered and plus other Project Management activities
What is one thing to keep in mind Once development starts on an iteration and its requirements are frozen.
Requirements for later iterations can continue to evolve
Who created the Waterfall Life Cycle Model
Royce
What is systems development methodology also known as?
Software Development Process
What does Scope Creep mean in terms of Software Engineering
Software Development Process may continue forever as it is never gets a signed off
What does SRS Stand for in terms of Software Engineering
Software Requirements Specification
What is done in the *Engineering Phase* of the Spiral Model?
Software is produced, tested & deployed in the engineering phase.
What is done in the *System Testing* Phase of the Validation Phases in the V-Shaped Model?
System tests check the entire system functionality and the communication of the system under development with external systems.
What does *SDLC* stand of
Systems Development Life Cycle
What is the SDLC
The SDLC is the process of understanding how an information system can support business needs by designing a system, building it and delivering it to users
What must we know about the different models in Software Engineering that we use in term of what Companies use what?
There a tons of model and there are very similar in that some companies may adopt their own model in term developing their own software development process
Prototype Model diagram example
This diagram is not correct. The prototype suggests all features are developed in the cyclic phase, so all design, implementation & testing occurs there. The latter half of this diagram is therefore at fault.
What does UAT Stand for in terms of Software Engineering
User Acceptance Testing
What is another variant of the Waterfall Model?
V-Model
What happens after the Coding Phases in the V-Shaped Model
Validation Phases
What is the Waterfall Life Cycle Model also known as?
a Linear-Sequential Life Cycle Model because each phase dealt with once in a linear sequence
What *Act as prototypes* in terms of the Incremental Model in Software Engineering?
but we don't build these early increments using shoddy practices as we would with regular prototypes
What is done in the *Process Model* in the Rapid Application Development Model?
establish the business information flow based on data objects identified in previous stage.
What is done in the *Business Modelling* in the Rapid Application Development Model?
flow of information and the distribution of information between various business channels. Business Model is designed.
What is the Conception phase and why is it not typically considered as part of the Waterfall Life Cycle Model?
it is here that a need for a system is identified.
What is done in the *Testing and Turnover* in the Rapid Application Development Model?
overall testing time is reduced in RAD model as the prototypes are independently tested during every iteration.
What is done in the *Application Generation* in the Rapid Application Development Model?
system is built using an automation tool using the data objects and processes to create a physical system.
What is done in the *Architectural Design* phase of the Verification Phases in the V-Shaped Model?
technical architecture referred to as High Level Design
What is important to note that when given a stable prototype, final product is developed.
we are not talking here about throw-away prototypes