Software Design Flashcards

1
Q

What is the first phase of the software design process?

A

Requirements Gathering and Analysis phase. Define the scope and objectives of the project, focusing on what you want to achieve and what you need to implement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the second phase of the software design process?

A

System Design
Purpose: Plan the overall structure and design of the project. Construct diagrams, or sketches.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the third phase of the software design process?

A

Implementation phase
Convert design specifications into actual code. This phase involves writing, testing, and integrating the software components.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the fourth phase of the software design process?

A

Testing
Purpose: Ensure your project works as intended and is free of major issues.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the fifth phase of the software design process?

A

Deployment
Purpose: Release the software to users or customers. This phase involves setting up the software in the target environment and making it available for use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the sixth phase of the software design process?

A

Maintenance
Purpose: Address any issues that arise after deployment and make improvements based on user feedback.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the seventh phase of the software design process?

A

Evaluation and Feedback
Purpose: Assess the software’s performance and gather feedback from users to inform future updates or projects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the SDLC / systems development life cycle?

A

In information systems, systems are built using a series of phases known as the systems development life cycle or SDLC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a structural diagram?

A

A structural diagram visualizes static elements of software, such as the types of variables and functions used in the program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a behavioral diagram?

A

A behavioral diagram visualizes dynamic behavior of software, such as the flow of an algorithm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is an activity diagram?

A

A UML activity diagram is a flowchart, similar to zyFlowchart, used to describe the flow of an activity or set of activities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the software requirements specification / SRS document that is usually created after the analysis phase?

A

The analysis phase of each approach commonly produces a software requirements specification (SRS), a document describing all requirements for the software product.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a compiled language/compiler?

A

A program written in a compiled language is first converted by a tool (compiler) into machine code, which can run on a particular machine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is interpreted language/scripting language/interpreter?

A

An interpreted language (aka scripting language) is a language that is run one statement at a time by another program called an interpreter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explain what a statically typed language is?

A

Most compiled languages are statically typed, meaning each variable’s type must be declared and cannot change while the program runs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explain what a dynamically typed language is?

A

Many interpreted languages are dynamically typed, meaning a variable’s type may change while a program executes, usually based on what is assigned to the variable.

17
Q

What is a programming language library?

A

A library is a set of pre-written functions (and other items) that carry out common tasks, that a programmer can use to improve productivity.