Chapter 9: Software Engineering

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/82

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 9:04 PM on 1/14/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

83 Terms

1
New cards

acceptance testing

process used to determine whether the software solution fulfills the customer’s expectations, also called user acceptance testing

2
New cards

accessibility testing

subset of usability testing that focuses specifically on the needs of users with disabilities

3
New cards

Agile Software Development Ecosystem (ASDE)

Agile SDLC frameworks and methods that emphasize the difficulty of predicting future needs and thus avoid creating long-term plans and fixed processes so developers can instead collaborate with customers and adjust to their current needs

4
New cards

application software

software that enables you to fulfill common tasks such as creating a text document, drawing a picture, or playing music

5
New cards

architecture management

helps improve the architectural design while it is under development

6
New cards

automated testing

form of testing that uses software tools to check functionality of a software system or some of its parts; this allows for repeating tests without requiring repeated effort on the part of the tester

7
New cards

availability

measure of how busy a system is when a user attempts to use it

8
New cards

black box testing

manner of testing where the tests are based on the requirements and the functionality of what is being tested without the need to focus on the code itself; input-output testing, specification-based testing, and behavioral testing

9
New cards

bug

issue or error with software programming

10
New cards

bug tracking system

aids in the tracking and resolution of fixing issues with software

11
New cards

closed-source

form of software licensing that prohibits access to underlying source code; this type of software is typically developed for organizations or for software that is meant to be sold

12
New cards

code coverage

measurement of the percentage of code that is activated or reviewed by unit tests

13
New cards

code review

process whereby the source code written by one developer is manually inspected by another developer or a team of reviewers

14
New cards

construction phase

framework activity in which the design documents are used to write corresponding source code in a programming language and to create any supporting assets

15
New cards

containerized

software packaged in such a way that it can run on different computer systems easily

16
New cards

crosscutting activity

(also: umbrella activity) activity that crosscuts the entire software development process but is not part of the main building steps themselves

17
New cards

debugger

program that assists in detecting and correcting bugs; it does this by allowing the user to pause program execution at any statement, view the state of the program at that moment, before allowing the computer to continue until the next statement at which they want to pause

18
New cards

deployment

framework activity that involves making the developed software solution available to users

19
New cards

design pattern

reusable solution to a design problem that software engineers repeatedly encounter while architecting and designing systems

20
New cards

detail-level design (DLD)

focuses on detailing or expanding upon the HLD; as part of the DLD, every element of a system is provided with detailed specifications, and the logic for each component within each module of a system solution is determined

21
New cards

DevOps model

Agile software process model that combines practices of software development and operations and uses a short development life cycle and continuous delivery to achieve high-quality software products

22
New cards

dynamic quality

nonfunctional feature that relates to the qualitative behavior of software while it is in use, which means that it also depends on the hardware that the system runs on

23
New cards

elaboration phase

framework activity that involves further analyzing the requirements to produce design models of the system to be developed

24
New cards

embedded software

software that is integrated with hardware and can include both application and system software features

25
New cards

extensibility

measure of the amount of work and cost required to add new features to software

26
New cards

flexibility

measure of the amount of work and cost required to make changes to a system when requirements change

27
New cards

functional requirement

based on expectations of the user for the inherent characteristics of the software

28
New cards

gray box testing

manner of testing in which the person who designs the test has a partial knowledge of code structure and understands the intended design of the software; it is a hybrid of white box and black box testing

29
New cards

high-level design (HLD)

focuses on providing a general description of the overall system design, and can include information on the overall aspects of a system, including its architecture, data, systems, services, and platforms as well as the relationships among various modules and components

30
New cards

inception phase

framework activity that involves focusing on the gathering and refinement (i.e., definition) as well as the management of functional and nonfunctional requirements, which is also known as requirements engineering

31
New cards

incremental model

software process model in which software development is divided into modules, and each module focuses on a smaller set of requirements based on an overall business plan

32
New cards

legacy software

software that has been written in the past, relies on obsolete technology, and is still in use today

33
New cards

line coverage

type of code coverage that measures the percentage of activated lines of source code that are tested in a unit test

34
New cards

maintainability

measure of the amount of work required to make changes to a software system

35
New cards

maintenance

process of updating software after it is deployed

36
New cards

manual testing

form of testing where a person must run the software system, provide any input, and manually check all output; repeating tests requires these efforts to be repeated by the tester

37
New cards

nonfunctional requirement

describes a desired quality feature and covers aspects such as flexibility, maintainability, performance, portability, reliability, scalability, security, and more

38
New cards

open-source

form of software licensing that provides access to the underlying code and generally allows the code to be reused and modified; also known as free and open-source (FOSS)

39
New cards

operating system

software that controls and provides access to the computer’s basic functionality

40
New cards

path coverage

type of code coverage that measures the percentage of paths through source code that you go through in a unit test

41
New cards

pattern

high-level concept that supports the idea of reuse and provides reusable solutions to problems often encountered when building software

42
New cards

performance

measure of response time as seen by the user

43
New cards

physical design

graphical representation of the method for effectively implementing what was determined in the logical design of a software solution

44
New cards

portability

measure of the amount of work and cost required to migrate software solutions to a new platform, such as a new operating system

45
New cards

prescriptive process model

advocates an orderly approach to software engineering that involves following a prescribed set of activities in a continuous manner; in contrast to Agile development

46
New cards

profiler

program that performs dynamic program analysis that can be used to optimize or otherwise streamline code

47
New cards

prototyping model

software process model that requires the quick creation of a mock-up (or demo) of the expected final product doing what it is expected to do so that end users may provide feedback; also known as RAD (Rapid Application Development)

48
New cards

refactoring

process of restructuring source code without changing its functionality

49
New cards

requirements modeling

software engineering action that is part of the inception phase and focuses on the analysis/decomposition of software requirements

50
New cards

scalability

measure of the amount of work and cost required to modify a system to provide higher throughput

51
New cards

scenario

specific instance of operational flow within a use case that is focused on understanding a specific action

52
New cards

Scrum

type of Agile software development model

53
New cards

security

measure of confidence that data is protected from unauthorized disclosure and that systems are protected from unauthorized access

54
New cards

software architecture

description of the overall structure of a software system, its major components, and their interrelationships

55
New cards

software design

engineering design task set in which the abstraction and refinement of requirements are formed into a specification that can be used in the creation of a software solution

56
New cards

software development life cycle (SDLC)

structured set of framework activities required to develop a software solution based on a set of requirements

57
New cards

software license

documentation that determines whether an organization’s source code and functionality can be used by others without permission

58
New cards

software process improvement

process of transforming the existing approach to software development into something that is more focused, more repeatable, more reliable (in terms of the quality of the product produced and the timeliness of delivery), and more cost-effective

59
New cards

Software Quality Management (SQM)

focuses on the development and management of the quality of the solution being developed

60
New cards

spiral model

software process model that is a combination of the waterfall model with an iterative model approach and that focuses on reducing risk within a project

61
New cards

sprint

fixed-length workflow event that is part of Agile software process development and typically runs one to four weeks

62
New cards

statement coverage

type of code coverage that measures the percentage of statements that are activated at least once when you run all unit tests

63
New cards

static quality

nonfunctional feature that is unchangeable and thus might be associated with the source code or with legal or project-environment specific requirements

64
New cards

system software

software that enables you to control hardware and provides an environment in which other software can run

65
New cards

system testing

focuses on the complete and fully integrated software product to make sure the complete software solution works on the whole as expected

66
New cards

test-driven development (TDD)

process where developers write tests before they write code

67
New cards

throughput

measure of the total amount of input data that may flow through a system; it is different from performance, which measures how fast a system can perform its functions

68
New cards

traditional process model

process framework that encompasses four framework (i.e., generic) activities that are also known as phases: inception, elaboration, construction, and deployment

69
New cards

umbrella activity

(also: crosscutting activity) activity that crosscuts the entire software development process but is not part of the main building steps themselves

70
New cards

Unified Modeling Language (UML)

visual modeling language that can be used to capture the result of software analysis and design

71
New cards

Unified Process (UP) model

software process model in which the development of a software system is divided into four primary phases (inception, elaboration, construction, and transition), each of which involves multiple iterations

72
New cards

unit testing

tests individual units of code, such as methods and functions, and is usually done by developers during the development of the software or when updates are made

73
New cards

usability

measure of how intuitive the user interface is

74
New cards

usability testing

confirms that the software being developed not only meets the requirements that were set by the user, but is also easy and intuitive for the user to use

75
New cards

use case

describes how software system is expected to be employed by users to accomplish a goal or requirement

76
New cards

user interface/user experience (UI/UX)

part of computer programming that is concerned with how information is presented to the user and how the user can interact with a program

77
New cards

user story

generic explanation aimed at the user to tell them how a software feature works

78
New cards

V-model

software development process model that is similar to the waterfall model in that it is a continuous prescriptive model, but it is associated with a verification or validation testing step/phase, and thus also known as the verification and validation model

79
New cards

validation

tests that the software solution conforms to the requirements and, therefore, does what the user wants it to do

80
New cards

verification

tests that the software solution functions without errors

81
New cards

version control system

tool used to store the history of changes to source code and facilitates collaboration of multiple developers

82
New cards

waterfall model

continuous prescriptive software process model in which phases “flow” into another the way water flows from the top of a waterfall down to the bottom

83
New cards

white box testing

manner of testing where the tester uses the source code so they can develop tests that verify that the internal structure of the item being tested works properly; also known as glass box, clear box, and structural testing

Explore top flashcards