Software Engineering Week 1: Introduction to Core Concepts

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

1/14

flashcard set

Earn XP

Description and Tags

These flashcards cover essential vocabulary and concepts from Week 1 of Software Engineering, which include definitions of static and dynamic views, essential vs. accidental complexity, and principles of software development.

Last updated 3:22 PM on 1/27/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

15 Terms

1
New cards

Software Engineering

Producing successful software systems through successful software development.

2
New cards

Static View

The structure of a system at rest, including code organization and dependencies, which can be analyzed without running the program.

3
New cards

Dynamic View

The behavior of a software system during execution, requiring running or simulating the system to analyze performance and data flow.

4
New cards

Essential Complexity

Difficulties inherent in the nature of software that cannot be removed.

5
New cards

Accidental Complexity

Difficulties that arise in software production that are not inherent, and can be removed.

6
New cards

'No Silver Bullet'

Brooks's thesis stating that no single technology or management technique will lead to significant improvements in productivity or reliability within a decade.

7
New cards

Four Essential Difficulties in Software Development

complexity, conformity, changeability, invisibility

8
New cards

Communication Difficulties

Challenges that arise from software complexity, leading to flaws and unreliability.

9
New cards

Requirements Refinement

The process of understanding and specifying what is needed in a software project through iterative prototypes.

10
New cards

Incremental Development

An approach that focuses on growing a system bit-by-bit, rather than building it all at once.

11
New cards

Priority-based Design

The decision-making process in software development that prioritizes critical tasks, as exemplified by the Apollo 11 mission.

12
New cards

Great Designers

Individuals in software development that significantly surpass average contributors in producing superior designs.

13
New cards

Brooks's Invisibility Argument

The idea that multiple overlapping representations are necessary to understand the complexities of a software system.

14
New cards

Prototyping

Creating early models of a software system to explore its usability and requirements.

15
New cards

Buy vs Build Principle

The concept that acquiring software solutions can be more productive than developing them from scratch.

Explore top flashcards