SD Prelim Flashcards
such as meeting deadlines, managing resources effectively, handling changing requirements, ensuring quality, and addressing communication gaps.
Software Development Challenges
defines the boundaries and functionalities of a software project.
- identifying what the software will do & don’t
-crucial to prevent scope creep, which can lead to project delays and increased costs.
Software Scope
is a systematic and disciplined approach to the development, operation, and maintenance of software
Software Engineering Discipline:
systematic approaches to software development that prescribe the structure and interaction of the development process.
Software methodologies
recognizes the importance of people, communication, and teamwork in software development.
The Human Side of Software Development
an iterative and incremental approach to software development that prioritizes flexibility and responsiveness to change
Agile
Linear and sequential model where each phase must be completed before moving to the next
- Phases: Requirements, Design, Implementation, Testing, Deployment, Maintenance.
Waterfall Model
extension of the waterfall model where each development stage corresponds to a testing phase.
- Phases: R, D, I, T, D, M.
V-Model (Verification and Validation)
Breaks down the system into a number of small builds or increments.
- Phases: Planning, Design, Implementation, Testing, Deployment.
Phased (or Incremental) Model
Develops the system incrementally, with each increment adding functionality.
- Phases: Prototyping, Incremental Development, Operational Deployment.
Evolutionary Model
Integrates elements of both the waterfall model and evolutionary model.
- Phases: risk analysis, engineering, prototyping, and testing.
Spiral Model
Focuses on the assembly of pre-built software components to create larger systems.
- Phases: Component Acquisition, System Design, Construction, Integration, and Testing.
Component-Based Software Engineering (CBSE):
An iterative and incremental approach.
Phases: Inception, Elaboration, Construction, Transition.
Emphasizes iterative development, flexibility, and adaptability.
Unified Process (UP)
Emphasizes quick development and iteration.
Phases: Planning, User Design, Construction, Cutover.
Prototyping and user feedback are integral.
Rapid Application Development (RAD)
Involves end-users in the design and development process.
Emphasizes collaborative workshops and rapid prototyping.
Joint Application Development (JAD)