1/41
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Architectural Design
A critical step in software engineering that defines the structure of software systems, facilitating stakeholder communication and system analysis.
Repository Pattern
Data in the system is managed in a central repository accessible by all components to ensure shared data access.
Client-Server Pattern
System functionality is organized into services provided by separate servers which clients access for functionality.
Software Design
A creative activity where software components and their relationships are identified based on customer requirements.
Implementation
The process of realizing the software design as a working program.
Build or Buy Decision
Choosing whether to develop custom software or to purchase off-the-shelf systems that can be adapted.
Design Model
A representation showing objects, classes, and the relationships between them.
Design Pattern
A reusable solution to a commonly occurring problem in software design.
Abstraction Level Reuse
Reusing knowledge about successful abstractions in software development.
Object Level Reuse
Reusing objects directly from a library.
Component Level Reuse
Reusing collections of objects and classes.
System Level Reuse
Reusing entire application systems.
GNU General Public License (GPL)
A reciprocal license requiring software that uses GPL-licensed code to also be open source.
GNU Lesser General Public License (LGPL)
Allows linking with open-source code without needing to publish your own source.
Berkeley Standard Distribution (BSD) License
A non-reciprocal license that does not require publishing changes and allows proprietary use.
Testing
A process aimed at determining whether a software program meets specified requirements and discovering defects.
Defect Testing
Focuses on identifying incorrect or undesirable software behavior.
Verification
The process of determining if the product is built according to specifications.
Validation
The process of ensuring the product meets user needs.
Software Inspections
An analysis technique used for validating software without requiring execution.
Development Testing
Testing conducted during development to find errors and defects.
Unit Testing
Testing of individual components in isolation.
Component Testing
Testing interfaces between combined units.
System Testing
Testing the complete integrated system functionality.
Release Testing
Testing conducted by a separate team on a complete system version before it is released.
User Testing
Testing conducted by actual users to evaluate the system in their environment.
Alpha Testing
Testing performed at the developer’s site with internal users.
Beta Testing
A release made available to a select group of users for feedback before full launch.
Acceptance Testing
Conducted to determine if the software is ready for deployment.
Regression Testing
Testing to ensure that changes haven’t disrupted previously working functionality.
Software Evolution
The process of managing and implementing change in existing software systems.
Fault Repair Maintenance
Modifications made to fix errors in software specifications, design, or implementation.
Adaptive Maintenance
Adjustments made to accommodate changes in the operating environment.
Functional Maintenance
Changes made to satisfy new requirements.
Software Maintenance Costs
Costs associated with making changes to software, often exceeding development costs.
Legacy Systems
Older systems that are still in use but may require updates or replacement.
Project Management
The process of planning, executing, and overseeing software development projects.
Risk Management Process
The steps taken to identify, evaluate, and mitigate risks in a software project.
Risk Identification
The process of recognizing potential risks that could affect a project.
Risk Analysis
Evaluating the likelihood and impact of identified risks.
Algorithmic Cost Models
Mathematical functions used for estimating the cost of software projects.
COCOMO 2 Model
An empirical cost estimation model based on historical project data.