The Nature of Software and Software Engineering

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

1/9

flashcard set

Earn XP

Description and Tags

These flashcards cover the key concepts and definitions related to Software Engineering as discussed in the lecture.

Last updated 3:42 PM on 4/15/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

10 Terms

1
New cards

Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

2
New cards

Vasa Syndrome

A situation where constant modifications and unstable designs lead to project failure, exemplified by the sinking of the Swedish warship Vasa.

3
New cards

Embedded Software

Software that resides within a product or system and is used to implement and control features and functions for the end user and the system.

4
New cards

Trade-offs in Software Development

Decisions made in software development that impact costs, resources, opportunities, and societal effects.

5
New cards

Hyrum’s Law

With a sufficient number of users of an API, all observable behaviors of your system will be depended on by somebody, regardless of contractual promises.

6
New cards

Software Application Domains

Categories of software including system software, application software, embedded software, product-line software, and artificial intelligence software.

7
New cards

Quality Assurance (QA) Engineer

A role responsible for testing software, developing test plans, and establishing quality standards.

8
New cards

Project Sustainability

The ability to reliably stay current and manage changes over the long term for software projects.

9
New cards

Core Characteristics of Software Systems

Includes complexity, changeability, and the need for maintenance over time.

10
New cards

Career Paths in Software Engineering

Various specializations including frontend development, backend development, DevOps, and machine learning engineering.