All relevance Flashcards

(29 cards)

1
Q

*Agile Methodology

A

An iterative software development approach focusing on collaboration, customer feedback, and small rapid releases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

*Waterfall Model

A

A linear and sequential software development approach with distinct phases: requirements, design, implementation, verification, and maintenance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

*Software Development Life Cycle (SDLC)

A

The process of planning, creating, testing, and deploying an information system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

*UML (Unified Modeling Language)

A

A standardized modeling language used to visualize the design of a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

*Design Patterns

A

Reusable solutions to common problems in software design, such as Singleton, Factory, and Observer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

*Cohesion

A

The degree to which elements of a module belong together; high cohesion is desirable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

*Coupling

A

The degree of interdependence between software modules; low coupling is ideal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

SOLID Principles

A

Five design principles intended to make software designs more understandable, flexible, and maintainable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

*MVC (Model-View-Controller)

A

An architectural pattern that separates an application into three interconnected components.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Dependency Injection

A

A technique where one object supplies the dependencies of another, improving modularity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

*Unit Testing

A

Testing individual components of the software in isolation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Integration Testing

A

Testing the interaction between integrated units/modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Regression Testing

A

Testing existing functionality after changes to ensure it still works.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Mocking

A

Simulating the behavior of real objects in controlled ways for testing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Code Smells

A

Signs in the code that may indicate a deeper problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

*Functional Requirements

A

Statements of the services the system should provide.

17
Q

*Non-Functional Requirements

A

Requirements that define system attributes such as reliability, usability, and performance.

18
Q

*Use Case Diagram

A

A visual representation of the system’s functional requirements from the user’s perspective.

19
Q

Sequence Diagram

A

A type of UML diagram showing interactions over time.

20
Q

Activity Diagram

A

A type of UML diagram that represents workflows of stepwise activities and actions.

21
Q

*Gantt Chart

A

A bar chart that represents a project schedule.

22
Q

MoSCoW Prioritization

A

A method to prioritize requirements as Must have, Should have, Could have, and Won’t have.

23
Q

Risk Management

A

The process of identifying, assessing, and controlling threats to a project.

24
Q

*Technical Debt

A

The cost of choosing an easy solution now instead of a better approach that would take longer.

25
*Relationship: Agile vs Waterfall
Agile allows for iterative development with user feedback; Waterfall follows a strict linear progression.
26
*Relationship: Cohesion vs Coupling
High cohesion and low coupling are design goals that enhance modularity and maintainability.
27
*Relationship: Unit Testing and Dependency Injection
Dependency injection facilitates unit testing by allowing mock objects to be injected.
28
*Relationship: Use Case Diagram and Functional Requirements
Use case diagrams visually represent the functional requirements of a system.
29
*Relationship: MVC and Separation of Concerns
MVC enforces separation of concerns by dividing the application into input, processing, and output.