Lecture 2 and 3

0.0(0)
studied byStudied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/43

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 12:52 AM on 1/29/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

44 Terms

1
New cards

What is Software Engineering?

A discipline focused on the systematic design, development, testing, and maintenance of software using engineering principles.

2
New cards

What defines a Program?

A set of instructions designed to perform a specific task or small set of related tasks.

3
New cards

What are Program Requirements?

Statements that define and qualify what a program needs to do.

4
New cards

What is a Functional Requirement?

Defines what the program must do or what behavior it must provide.

5
New cards

What is a Nonfunctional Requirement?

Defines how well the program must perform, such as performance, reliability, security, or usability.

6
New cards

What are Design Constraints?

Restrictions on how a program can be designed or implemented.

7
New cards

What are Design Decisions?

Choices made by developers within constraints like programming language or algorithm selection.

8
New cards

What is Testing in software?

The process of verifying that software behaves as expected and meets requirements.

9
New cards

What is Unit Testing?

Testing individual software units (functions, classes, modules) in isolation.

10
New cards

What is Integration Testing?

Testing how multiple software components work together.

11
New cards

What is Acceptance Testing?

Testing whether the software meets user requirements before delivery.

12
New cards

What is Black-box Testing?

Testing based only on requirements, without knowledge of internal code.

13
New cards

What is White-box Testing?

Testing based on knowledge of the internal code and logic.

14
New cards

What is Effort Estimation?

The process of estimating the time and work required to complete a software task.

15
New cards

What is Ideal Time?

Estimated time to complete a task with no interruptions.

16
New cards

What is Calendar Time?

Realistic time to complete a task, accounting for breaks and interruptions.

17
New cards

What is Implementation in software development?

The process of converting a software design into working code.

18
New cards

What is a Standard Library?

A collection of prewritten, commonly used functions provided by a programming language.

19
New cards

What is Code Review?

The process of examining code to find errors, inconsistencies, or design issues.

20
New cards

What are the Program Development Steps?

Understanding requirements, Design, Implementation, Testing.

21
New cards

What is a Software System?

A collection of interconnected programs, modules, or components that work together to provide a complete service.

22
New cards

What does Size of a system refer to?

How large a system is, such as the number of components, features, users, or amount of data.

23
New cards

What does Complexity in a system refer to?

How difficult a system is to understand, develop, and maintain.

24
New cards

What is Breadth of Complexity?

The number and variety of functionalities, users, interfaces, and data types in a system.

25
New cards

What is Depth of Complexity?

The interactions among components, including data sharing, control flow, and nested logic.

26
New cards

What is Decomposition?

Breaking a complex problem or system into smaller, more manageable sub-problems.

27
New cards

What is Modularization?

Dividing a system into independent modules, each responsible for a specific functionality.

28
New cards

What is a Module?

A self-contained unit of software responsible for a specific task or concern.

29
New cards

What is Separation of Concerns?

The principle that each module should focus on a single responsibility and not mix unrelated tasks.

30
New cards

What are Technical Considerations?

Technical factors and choices that affect how a system is built and supported.

31
New cards

What is a Database?

A system used to store, manage, and organize data efficiently.

32
New cards

What are Programming Platforms?

Programming languages, frameworks, and tools used to develop software.

33
New cards

What is a Computing Network?

The infrastructure that enables communication between system components.

34
New cards

What is Configuration Management?

Managing and tracking changes to software using tools like version control systems.

35
New cards

What is Version Control?

Tools (e.g., Git) that track code changes and support collaboration.

36
New cards

What are Modeling Techniques?

Visual or formal methods used to design and communicate system structure.

37
New cards

What is Automated Testing?

Using software tools to automatically run tests to improve reliability and reduce manual effort.

38
New cards

What is Process in software development?

A structured approach to software development, including planning, building, testing, and maintenance.

39
New cards

What is Incremental Development?

Developing software in small, manageable pieces over time.

40
New cards

What is Continuous Integration (CI)?

Frequently integrating new code into the main system.

41
New cards

What is Continuous Delivery / Deployment (CD)?

Quickly releasing completed features to users.

42
New cards

What is Coordination in system development?

Organizing people, tasks, and processes in system development.

43
New cards

What are Communication Paths?

The number of possible communication links among team members (≈ n² / 2).

44
New cards

What is Effort Estimation in Large Systems?

Estimating time and effort for complex systems, often imprecise due to size and uncertainty.