software engineering made by chatgpt

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/37

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

38 Terms

1
New cards

Waterfall model

This model introduced by Royce in 1970 is a linear sequential design approach often criticized for its inflexibility.

2
New cards

Clean code

This principle in software engineering emphasizes writing code that is readable and understandable to humans.

3
New cards

Software Reuse

This is the practice of reusing existing software assets in new applications.

4
New cards

Spiral Model

This software development model emphasizes early detection and management of project risks.

5
New cards

Agile Manifesto

This 2001 document outlines 4 values and 12 principles for modern software development.

6
New cards

Cyclomatic Complexity

This software metric measures the complexity of a program’s control flow.

7
New cards

Debugging

This process includes identifying bugs in software after code is written.

8
New cards

Software Developer or Programmer

This person is responsible for writing code to implement software features.

9
New cards

Requirements Engineering

This phase of software development gathers and analyzes customer needs.

10
New cards

Black Box Testing

This testing approach focuses on input/output without considering internal code structure.

11
New cards

Application Programming Interface (API)

a set of rules and specifications that defines how different software components can interact with each other, enabling data exchange and functionality sharing

12
New cards

Unit Testing

This testing method involves testing individual units of source code.

13
New cards

Software Development Process (or Software Engineering Process)

This is a planned and structured approach to software development.

14
New cards

Open-Closed Principle

This design principle suggests that software components should be open for extension but closed for modification.

15
New cards

Software Estimation

This technique involves estimating the effort needed to develop a software product.

16
New cards

DRY Principle (Don't Repeat Yourself)

This principle advises against repeating code in multiple places.

17
New cards

Scrum

This is a software development methodology characterized by short iterations and frequent releases.

18
New cards

Perfective Maintenance

This type of maintenance involves improving software performance or maintainability.

19
New cards

Defect rate or defect density

This metric measures how often users encounter defects in production.

20
New cards

Software Modifiability (or Modularity)

This principle advises designing software that can evolve over time.

21
New cards

Three-Tier Architecture

This architectural style divides an application into presentation, logic, and data layers.

22
New cards

Strategy Pattern

This design principle encourages encapsulating what varies to make software more flexible.

23
New cards

SOLID Principles

This acronym refers to five key design principles in object-oriented programming.

24
New cards

Microservices

This architectural style structures a system as a set of services that communicate over a network.

25
New cards

Singleton Pattern

This design pattern ensures a class has only one instance and provides a global point of access.

26
New cards

Model-View-Controller (MVC)

This architectural pattern separates concerns by organizing the system into models, views, and controllers.

27
New cards

Facade Pattern

This design pattern provides a simplified interface to a complex subsystem.

28
New cards

Modularity

This concept refers to building software components that can be replaced or upgraded independently.

29
New cards

Loose Coupling

This design concept describes minimizing interdependency between modules.

30
New cards

Pair Programming

This programming practice involves two developers writing code together at one workstation.

31
New cards

Software Design

This engineering process involves converting requirements into software architecture.

32
New cards

Stress Testing

This type of testing checks how software performs under high load.

33
New cards

Software Quality Assurance (SQA)

This process involves ensuring a software product meets quality standards.

34
New cards

Benchmark Testing

This test type checks system performance using a set of predefined test cases.

35
New cards

Validation Testing

This type of testing compares expected vs. actual results.

36
New cards

Beta Testing

This test is performed by users in a real-world environment before full release.

37
New cards

Testability

This term describes the ease with which software can be tested.

38
New cards

Regression Testing

This type of test ensures changes haven’t introduced new bugs.