Module 11 Notes
Module 11 Notes
- SDLC
- Fundamental part of the organization for designing and implementation of an information
system
- Different phases depending on methodology deployed by addresses:
- Investigation, Analysis, design, implementation and maintenance.
- Oragnizations have their own set of needs.
- Joint application development (JAD)
- Defines specifications and create systems.
- Rapid application development (RAD)
- Used to increase speed at which requirements were collected and software was
prototyped allowing more iterations in design process.
- Agile programming
- Extreme programming
- Methodology
- Approach to solving a problem based on a structured sequence of procedures.
- SDLC is an example.
Traditional Methods:
- Waterfall model
- SDLC in which each phase flows from the information gained in the previous
phase with multiple opportunities to return to previous phases and make
adjustments.
- Investigation
- First phase and most important
- What problem is the system solving? Begins by examining event or plan that
initiates the process.
- Objectives, constraints and scope of the project are specified.
- Analysis
- Information gained during the investigation phase. Consists of assessments of
the organization, current systems and capability to support the proposed
systems.
- Logical Design
- Information gained from the analysis phase is used to begin creating a systems
solution for a business problem.
- Implementation independent.
- Addresses how the proposed system will solve the problem.
- Physical Design
- Specific technologies are selected to support the alternatives identified and
evaluated in the logic design.
- Components are evaluated based on a make-or-buy decision.
- Implementation
- Any needed software is created.
- Components are ordered, received and tested.
- Users are trained and supporting documentation is created.
- Maintenance and Change
- Longest and most expensive process.
- Consists of tasks necessary to support and modify the system for the remainder
of its useful life cycle.
Software Assurance
- Approach to software development
- Attempts to intentionally create software free of vulnerabilities and provide effective,
efficient software that users can deploy with confidence.