Chapter 12 Software Development Security Flashcards
What phases appear in most software development models?
- Feasibility phase
- Analysis and requirements definition phase
- Design phase
- Development phase
- Testing and integration phase
- Training and transition phase
- Ongoing operations and maintenance
- Disposition phase
- Where initial investigations into whether the effort should occur are conducted
- Common phase appearing in most software development models
Feasibility phase
- Customer input is sought to determine what the desired functionality is, with the current system or application currently does and what it does not do, and what improvements are desired
- Common phase appearing in most software development models
Analysis and requirements definition phase
- Includes functionality, architecture, integration points and techniques, data flows, business processes, and any other elements that require design consideration
- Common phase appearing in most software development models
Design phase
- The actual coding of the application occurs here. This phase may involve testing of parts of the software including unit testing and code analysis
- Common phase appearing in most software development models
Development phase
- Individual units or software components are integrated and then tested to ensure proper functionality
- Common phase appearing in most software development models
Testing and integration phase
- Ensures that end users are trained on the software and that the software has it entered General use
- Common phase appearing in most software development models
Training and transition phase
- Includes patching, updating, minor modifications, and other work that goes into daily support
- Common phase appearing in most software development models
Ongoing operations and maintenance
- Occurs when product or system reaches the end of its life
- Common phase appearing in most software development models
Disposition phase
Name the software development models
- Waterfall
- Spiral
- Agile
- Rapid Application Development (RAD)
- The V model
- The Big Bang model
A software development sequential model in which each phase is followed by the next phase
Waterfall
Name the six phases featured in a waterfall model
- Gather requirements
- Design
- Implement
- Test / Validate
- Deploy
- Maintain
Uses linear development concepts but adds an interactive process that revisits four phases multiple times during the development life cycle to gather more detailed requirements
Spiral
What are the four phases in the spiral model?
- Initial requirements - Gathers business requirements, system requirements and etc..
- Design - Conceptual, architectural, logical, and sometimes physical or final design
- Build - Produces initial proof-of-concept and then further development releases until final product it’s built
- Evaluation - Involves risk analysis for the development project. As the cycle continues involves customer testing and feedback to ensure acceptance
- Iterative and incremental process, rather than the linear process is found in other software development models
- Breaks up work into smaller units allowing work to be done more quickly with less upfront planning
Agile
The Agile methodology is based on what 12 principles?
- Ensure customer satisfaction via early and continuous delivery of the software
- Welcome changing requirements even late in the development process
- Deliver working software frequently (in weeks rather than months)
- Ensure daily cooperation between developers and business people
- Project should be built around motivated individuals who get the support, trust, and environment they need to succeed
- Face-to-face conversations are the most efficient way to convey information inside the development team
- Progress is measured by having working software
- Development should be done at a sustainable pace that can be maintained on an ongoing basis
- Pay continuous attention to technical excellence in good design
- Simplicity the art of maximizing the amount of work not done is essential
- The best architectures, requirements, and designs emerge from self-organizing teams
- Team should reflect on how to become more effective and then implement the behavior at regular intervals
- List of features or tasks that are required to complete a project
- Specialized term in Agile development
Backlogs
- A tool for estimation and planning
- Estimators are given cards with values for the amount of work required for a task. Estimators are asked to estimate, and each reveals their “bid” on the task
- This is done until agreement is reached, with the goal to have estimators reach the same estimate through discussion
- Specialized term in Agile development
Planning Poker