Lecture 12 Flashcards
What is the ‘Software Process’?
A structured set of activities required to develop a software system.
What do software processes generally involve?
- Specification
- Design
- Validation
- Evolution
What is the ‘Waterfall’ model?
Sequential (non-iterative) design process.
What is incremental development?
The incremental build model is a method of software development where the product is designed, implemented and tested incrementally (a little more is added each time) until the product is finished. It involves both development and maintenance.
The V model is similar to what?
Agile software development process
What does User Centered Design (UCD) strives for?
- end user is given credence throughout the entire design process, often through direct participation
- requires discipline, empathy and humility
- continual validation of assumptions, refinement of understanding of user context, needs and desires relevant to the system being designed
What are some tools available for UCD?
- Meetings
- Focus groups
- Card Sort
- Interview
- Data analysis
- Usability test
- Paper prototyping
Why does agile and UCD clash?
“Agile teams are more proficient in executing the development process, but the compressed timescale forces some to abandon user research and degrade the resulting user experience.”
How to prevent UCD and agile issues
- Stay “one story ahead” of development
- Use ‘Lean UX’ tools (sketches and mockups)
- Apply ‘discount usability’ techniques
The Rational Unified Process (RUP) emphasizes what?
Distinctly phased and iterative development
At the core of RUP, what tool is used?
UML for all phases.
What are the six engineering disciplines in RUP?
- Business modelling
- Requirements
- Analysis and design
- Implementation
- Test
- Deployment
What are the three roles in RUP?
- Configuration and change management
- Project management
- Environment
The four phases in RUP are?
- Inception
- Elaboration
- Construction
- Transition
Define the Inception Phase in RUP.
understanding context, preliminary identification of needs, preliminary risk assessment
Define the Elaboration Phase in RUP
building more sophisticated, complete understanding of needs. Targeting high risk elements, deriving executable candidate architecture. “Mile wide and inch deep” view of the system.
Define the Construction Phase in RUP
developing and testing components, integrating components into codebase. Manufacturing phase vs. creation of intellectual property. High cost, high risk, high inertia.
Define the Transisition Phase in RUP
beta testing, refining system details, deploying system
What are the six best practices of RUP?
- Iterative development
- Requirements management
- Use of Components
- Use diagraming
- Quality assurance
- Change management