Information Systems Development Flashcards
Different methodologies
Give two properties of Waterfall.
1) Requirements Identified before programming begins, limited as the project progresses
2) Long time elapses between completion of proposal and the delivery of the system.
Planning ->
Analysis ->
Design ->
Implementation->
System
Give two properties of Waterfall - V Model
1) Strong focus on testing
2) Requirements are specified, components designed, and testing defined
3) Each level of testing is linked to a part of the analysis or design phase
4) Ensures high level of testing
Analysis -> (tests)
Design -> (tests)
Implementation (Coding)
<-
<- Unit Testing
<- Integration Testing
<- System testing
Acceptance Testing
Give two properties of Waterfall - Parallel
1) Divided into subprojects designed and implemented in parallel
2) General design for the whole system is generated
3) Subprojects integrated back to a single system
4) Integration can be challenging (good co-ordination is required)
Planning ->
Analysis->
Design->
(Subprojects 1,2,3 etc.)
(Design ->
Implementation->)
Subprojects -> Implementation -> System
Give two properties of Rapid Application Development - Iterative
1) First version developed quickly by mini-waterfall process for feedback
2) Important addition requirements can be incorporated into the system
Planning-> Analysis -> System Version1,2,3 (Analysis, Design and Implementation) -> Final System version
Give two properties of Rapid Application Development - System Prototyping
1) Perform analysis, design and implementation phase concurrently (to get a simplified version developed for user feedback and evaluation)
2) System prototype is a “quick and dirty” version of the system
3) After ser reviews, developers re-analyse, re-design and re-implement a 2nd prototype based of feedback, adding more features and correct deficiencies.
4)This continues until the analyst, user and sponsor agree on implementation success.
Planning -> System Prototype (Analysis, Design, Implementation) -> Implementation -> System
Give two properties of Rapid Application Development - Throw away prototyping
1) Prototypes to explore design alternatives
2) Not intended to be working systems. Used to understand issues under consideration
3) Probably require several design prototypes during analysis and design phases
4) Chosen prototype is still thrown away
Planning -> Analysis -> Design Prototype (Analysis, Design, Implementation) -> Design -> Implementation -> System
Give 4 properties of Agile Development?
1) A group of programming centric methodologies that focus on streamlining the software development stages
2) Much of the modelling and documentation overhead is eliminated
3)Face to face communication is preferred
4) A project emphasises simple, iterative application development in which each iteration is a complete software project, including planning, requirements, analysis, design, coding, testing and documentation
4) Cycles are kept short (1-4 weeks)
User stories -> Sprint Planning -> Sprint Backlog - 2 Week Sprint (Daily Scrum meetings -> Development) -> Sprint Review -> Finished product - Sprint Retrospective
Give me two examples of Agile Development Methodologies
1) Extreme Programming (XP)
2) Scrum
What main roles does agile development have?
1) Product Manager
2) Scrum manager
3) Development Team Members
In Agile Development, How do we document requirements?
We use user stories which document:
- As a Who?
- I want to (What they want to accomplish)
- So that (Why they want to accomplish that)
What novel approaches does Agile Development embrace? Pick two.
1) Test-driven development
2) Automated testing
3) Pair programming
4) Simple Design
What caused Agile Development to come to play?
Agile practices were created in part because of a dissatisfaction of the inflexible waterfall-based approaches
Which methodology is suitable when developing systems with:
Unclear user requirements?
- RAD Iterative
- RAD System prototyping
- RAD Throwaway Prototyping
- Agile Development
Which methodology is suitable when developing systems with:
Unfamiliar technology?
- RAD Iterative
- RAD Throwaway Prototyping
Which methodology is suitable when developing systems:
That are complex?
- Waterfall
- Waterfall - Parallel
- Waterfall - V-Model
- RAD Iterative