1/44
Flashcards covering software characteristics, types of system and application software, process models (Waterfall, RAD, Spiral, Agile variants), and requirement engineering principles based on the lecture transcript.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Functionality
The ability of software to perform the tasks for which it is designed and produce correct results according to user needs.
Efficiency
The ability of software to perform tasks quickly and use system resources such as memory, processor time, and storage effectively.
Reliability
The ability of software to operate without failure for a specific period of time, consistently giving accurate results.
Maintainability
Refers to how easily software can be modified, updated, or repaired after development to fix errors or add features.
Portability
Means the software can run on different hardware or operating systems with little or no changes.
Usability
Refers to how easy and user-friendly the software is for users to understand and operate.
System Software
Programs directly responsible for controlling, integrating, and managing hardware components, providing an interface between the user and the computer.
Firmware
Low-level control software permanently programmed into a hardware device's memory.
Simulation Software
Software that models real-world systems mathematically to predict outcomes safely.
Quality focus
The layer of software engineering that defines continuous process improvement principles and provides integrity/security to the software.
Process (Foundational Layer)
The foundation of software engineering that binds all layers together and defines a framework for effective delivery.
Method
Provides the information on "how-to-do" all tasks, including communication, requirement analysis, design modeling, and testing.
Tools
Software engineering elements that provide a self-operating system for processes and methods, often integrated to share information.
Umbrella Activities
Activities that take place throughout the software development process for improved project management and tracking.
Software Configuration Management
The activity of managing the configuration process whenever any change occurs in the software.
Waterfall Model
A traditional development methodology following a linear, phase-by-phase approach where each phase must be completed before the next.
Software Requirement Specification (SRS)
A formal document serving as an agreement between the customer and development team, clearly documenting all requirements.
Alpha Testing
Software testing performed specifically by the development team.
Beta Testing
Software testing performed by selected end users.
Acceptance Testing
Testing performed by the customer to approve the software for delivery.
Corrective Maintenance
Maintenance performed to fix errors found after the software has been released.
Perfective Maintenance
Enhancing software features based on user needs after deployment.
Adaptive Maintenance
Updating software to work in new environments, such as new hardware or operating systems.
RAD Model
Rapid Application Development; an iterative methodology prioritizing rapid prototyping and quick delivery over strict upfront planning.
Spiral Model
An SDLC model proposed by Barry Boehm that combines the Waterfall approach with Iterative flexibility, focusing heavily on risk handling.
Extreme Programming (XP)
An Agile framework focused on high-quality software, featuring pair programming, TDD, and short development cycles.
Test-Driven Development (TDD)
An XP practice where tests are written before the actual code is developed.
Speculation (ASD)
The initial phase of Adaptive Software Development where project initiation and cycle planning are conducted.
Scrum
An Agile framework using Sprints and Product Backlogs to deliver high-value products through self-organization.
Sprint
A time-boxed period of one month or less during which a product increment is developed in Scrum.
DSDM
Dynamic Systems Development Method; an agile approach based on a modified Pareto principle where 80% of an application is delivered in 20% of the time.
Crystal Clear
A variant of the Crystal method for teams of 1-6 members working in a single workspace for short-term projects.
Agile Unified Process (AUP)
A methodology combining agile best practices with the disciplined approach of the Unified Process across four phases: Inception, Elaboration, Construction, and Transition.
Functional Requirements
Requirements describing specific functions, operations, and services the software must perform, explaining what the system should do.
Product Requirements
Non-functional requirements specifying quality attributes such as Performance, Reliability, and Usability.
Organizational Requirements
Requirements derived from organizational policies, standards, procedures, and operational practices.
External Requirements
Requirements imposed by factors outside the organization, such as laws, regulations, and industry standards.
Requirement Elicitation
The process of collecting requirements from stakeholders, users, and domain experts using techniques like interviews or workshops.
Use Case
A mapping of how real-world actors interact with a system to accomplish specific business goals.
Data Flow Diagram (DFD)
A visual representation showing how input data is processed and transformed into output through processes and data stores.
Sequence Diagram
An interaction diagram detailing how operations are carried out over time, showing the order of interactions visually.
Requirement Validation
The process of ensuring documented requirements are correct, complete, consistent, and aligned with customer needs.
IEEE Standard
The common format standard used for structuring a Software Requirement Specification (SRS) document.
Traceability
A characteristic of a good SRS where requirements can be traced to specific design components, code segments, and test cases.
Design Independence
The principle that an SRS should not include implementation details, allowing for multiple design alternatives.