Unit 2: Software Design Principles and Practices

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/37

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

38 Terms

1
New cards

Application Lifecycle Management (ALM)

The governance of the entire lifecycle of a software application from inception to retirement

2
New cards

Requirements Analysis

The ALM process of determining detailed business needs for a new system

3
New cards

Functional Requirements

Requirements that specify exactly what the system is designed to accomplish

4
New cards

Non-functional Requirements

Requirements related to quality attributes like scalability

5
New cards

Design Process

The ALM process of creating plans

6
New cards

Architect Role

The professional who designs the technical blueprint of the system

7
New cards

User-Experience Designer Role

The professional who creates the user's interaction with the system

8
New cards

Software Development Lifecycle (SDLC)

A framework that defines the phases used to build and deploy software

9
New cards

Waterfall Model

A linear SDLC model where each phase must be completed before the next begins

10
New cards

Agile Model

An iterative SDLC model focused on flexibility

11
New cards

Software Testing

The process of verifying that a software implementation meets its requirements

12
New cards

Black-box Testing

A testing method that focuses on inputs and outputs without knowledge of internal code

13
New cards

White-box Testing

A testing method that uses knowledge of the internal code structure to design tests

14
New cards

Unit Testing

The first level of testing that verifies the functionality of a small piece of code

15
New cards

Integration Testing

A testing level that assesses the interface and interaction between different software components

16
New cards

System Testing

The overall testing of a complete

17
New cards

Acceptance Testing

A testing level often performed by end-users to determine if a system meets their needs

18
New cards

Alpha Testing

A type of acceptance testing performed by a limited group of users before a broad release

19
New cards

Beta Testing

A type of acceptance testing where the product is released to a wider audience for feedback

20
New cards

Regression Testing

The process of re-running existing tests to ensure new changes haven't broken previously working functionality

21
New cards

Release Management

The process of managing

22
New cards

Release Manager

The role responsible for coordinating teams to ensure a timely software release

23
New cards

Operations Staff

The team responsible for system delivery and ongoing maintenance

24
New cards

Technical Support Staff

The team that interacts with customers to help solve their problems

25
New cards

Data Structures

A way of organizing and storing data in a computer to be accessed and modified efficiently

26
New cards

Primitive Data Structure

Fundamental data types provided by a language

27
New cards

Non-primitive Data Structure

Complex data structures created using primitive ones

28
New cards

Linear Data Structure

A data structure where elements are arranged in a sequential order (e.g.

29
New cards

Non-linear Data Structure

A data structure where elements are not arranged in a sequential order (e.g.

30
New cards

Array

A linear data structure that stores elements of the same type in contiguous memory locations

31
New cards

Linked List

A linear data structure where elements (nodes) are linked using pointers

32
New cards

Stack

A linear data structure that follows the Last-In

33
New cards

Queue

A linear data structure that follows the First-In

34
New cards

Tree

A non-linear data structure with a hierarchical relationship between elements

35
New cards

Graph

A non-linear data structure that represents a set of objects connected by links

36
New cards

Security in SDLC

The practice of integrating security considerations into every phase of the software development lifecycle

37
New cards

Shift Left Security

An approach that emphasizes moving security tasks earlier in the SDLC process

38
New cards

Cost of Security Flaws

A principle stating that fixing a security issue during design is 30-60 times cheaper than fixing it in production