Free Online Flashcard Deck

1 Foundations of Software Engineering Free Online FlashCards

Study 1 Foundations of Software Engineering with 12 free online flashcards. Review key terms, definitions, and concepts with this interactive flashcard deck.

12 cards
01
Front

What is software engineering?

Back

It is the disciplined practice of creating, operating, and evolving software, combining technical work with planning, communication, documentation, and quality management.

02
Front

How can a team make “the page should be fast” verifiable?

Back

Make it specific and measurable, such as requiring 95% of search requests to finish within 300 milliseconds under an agreed workload.

03
Front

What does version control help a team do?

Back

It records changes over time, supports comparison and recovery, and enables collaboration on shared files.

04
Front

What does a software lifecycle describe?

Back

A software lifecycle is the set of activities through which a product is conceived, developed, delivered, used, maintained, and eventually retired.

05
Front

What do functional requirements specify?

Back

Functional requirements specify behavior or capabilities, such as letting a customer reset a password.

06
Front

How do architecture and design differ?

Back

Architecture defines major components, their responsibilities, and interactions. Design develops more detailed decisions about interfaces, data, algorithms, and behavior.

07
Front

What design principles can make change easier?

Back

Keep distinct responsibilities separate, group closely related behavior, limit dependencies, and hide implementation details behind stable interfaces.

08
Front

What can testing establish, and what can it not prove?

Back

Testing provides evidence about behavior and helps reveal defects, but it cannot prove that every possible defect is absent.

09
Front

What do unit, integration, and system or acceptance tests assess?

Back

Unit tests check small pieces, integration tests check interactions, and system or acceptance tests assess broader behavior against requirements and user needs.

10
Front

What characterizes an Agile approach?

Back

Agile emphasizes frequent delivery of useful software, stakeholder collaboration, responsiveness to change, and continuous improvement.

11
Front

How does documentation support a software product?

Back

Documentation helps people understand, use, operate, and change software by preserving context, interfaces, instructions, and decisions.

12
Front

How should teams incorporate secure development?

Back

Integrate secure-development practices into the existing software lifecycle rather than treating security as a separate final phase.