All relevance Flashcards
(29 cards)
*Agile Methodology
An iterative software development approach focusing on collaboration, customer feedback, and small rapid releases.
*Waterfall Model
A linear and sequential software development approach with distinct phases: requirements, design, implementation, verification, and maintenance.
*Software Development Life Cycle (SDLC)
The process of planning, creating, testing, and deploying an information system.
*UML (Unified Modeling Language)
A standardized modeling language used to visualize the design of a system.
*Design Patterns
Reusable solutions to common problems in software design, such as Singleton, Factory, and Observer.
*Cohesion
The degree to which elements of a module belong together; high cohesion is desirable.
*Coupling
The degree of interdependence between software modules; low coupling is ideal.
SOLID Principles
Five design principles intended to make software designs more understandable, flexible, and maintainable.
*MVC (Model-View-Controller)
An architectural pattern that separates an application into three interconnected components.
Dependency Injection
A technique where one object supplies the dependencies of another, improving modularity.
*Unit Testing
Testing individual components of the software in isolation.
Integration Testing
Testing the interaction between integrated units/modules.
Regression Testing
Testing existing functionality after changes to ensure it still works.
Mocking
Simulating the behavior of real objects in controlled ways for testing.
Code Smells
Signs in the code that may indicate a deeper problem.
*Functional Requirements
Statements of the services the system should provide.
*Non-Functional Requirements
Requirements that define system attributes such as reliability, usability, and performance.
*Use Case Diagram
A visual representation of the system’s functional requirements from the user’s perspective.
Sequence Diagram
A type of UML diagram showing interactions over time.
Activity Diagram
A type of UML diagram that represents workflows of stepwise activities and actions.
*Gantt Chart
A bar chart that represents a project schedule.
MoSCoW Prioritization
A method to prioritize requirements as Must have, Should have, Could have, and Won’t have.
Risk Management
The process of identifying, assessing, and controlling threats to a project.
*Technical Debt
The cost of choosing an easy solution now instead of a better approach that would take longer.