Chapter 2 Flashcards

1
Q

Why is software important?

A

Economies of ALL developed nations depend on it

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

What is the scope of software engineering?

A

Concerned with theories, methods, and tools for professional software development.

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

What are the main topics outlined in the presentation ‘Concepts of Software Engineering’?

A

SDLC

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

What does SDLC stand for?

A

Software Development Life Cycle.

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

What is the Software Development Life Cycle (SDLC)?

A

A structured process that enables the production of high-quality

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

What is the goal of the SDLC?

A

To produce superior software that meets and exceeds all customer expectations and demands.

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

List the 6 phases of the SDLC presented in the diagram.

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

Why is SDLC important (list at least 3 reasons)?

A

Provides a standardized framework defining activities/deliverables; Aids in project planning, estimating, scheduling; Makes project tracking/control easier; Increases development speed; Improves client relations; Decreases project risks.

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

How does SDLC contribute to project management?

A

It aids in project planning

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

What is the first phase of SDLC and its main activity?

A

Planning; Gathering business requirements from client or stakeholders.

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

What inputs are typically used in the SDLC Planning phase?

A

Inputs from the customer, the sales department, market surveys, and domain experts.

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

What key questions are addressed during the Planning phase?

A

Who will use the system? How will they use it? What data input is needed? What data output is expected?

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

What is the second phase of SDLC and its purpose?

A

Analysis; To outline the scope of the problem and identify solutions.

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

What happens to requirements during the Analysis phase?

A

They are analysed and converted into clear requirements for the development team.

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

What key document is produced during the Analysis phase?

A

Software Requirement Specification (SRS).

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

What is the purpose of the SRS document?

A

Serves as a guideline for the next phase (Design) and contains all product requirements.

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

What is the third phase of SDLC?

A

Design.

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

What document is created in the Design phase to elaborate the plan?

A

Software Design Document (SDD).

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

What elements are typically included in an SDD?

A

System design, programming language, templates, platform, application security measures, flowcharts.

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

What technique might be used in the Design phase to visualize the product early?

A

Development of a prototype model.

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

What aspects of system architecture are defined during the Design phase?

A

Overall architecture, System flow (flowchart), Database design (ERD/DFD), Timeline, Prototype.

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

What is the fourth phase of SDLC

A

and what is another name for it?

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

What is the primary activity during the Implementation phase?

A

Code is produced

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

Which SDLC phase is often the longest?

A

Implementation (Development) phase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
How is work typically organized during Implementation?
Divided into modules or units.
26
What is the fifth phase of SDLC?
Testing & Integration.
27
What is the main purpose of the Testing phase?
To test the developed code against requirements to ensure the product solves the addressed needs.
28
What are the two broad categories of testing performed?
Functional testing and non-functional testing.
29
List at least 3 types of testing mentioned in the Testing & Integration phase description.
Performance testing, Functional testing, Security testing, Unit-testing, Usability testing, Acceptance testing.
30
What cycle of activities do testers follow?
Software Testing Life Cycle (STLC) activities.
31
How are bugs/defects handled during testing?
Reported, tracked, fixed, and retested until the product meets quality standards defined in the SRS.
32
What happens after successful testing and what is it called?
The product is delivered/deployed to the customer for use; called Integration.
33
What type of testing might customers perform after initial deployment?
Beta testing.
34
What is the sixth phase of SDLC?
Maintenance.
35
What occurs during the Maintenance phase?
Solving actual problems that arise during customer use, ongoing care for the product.
36
What might happen if significant defects are found during Maintenance?
It could lead to revisiting earlier SDLC phases, potentially starting from Planning.
37
How might the Maintenance phase be viewed in an agile approach?
As a stage for further improvement, not just defect fixing.
38
Can SDLC phases restart after deployment?
Yes
39
What is Agile development?
An iterative development methodology enabling teams to deliver value faster.
40
How does Agile testing differ from traditional testing?
It's continuous
41
What are the two main testing methods compared?
Black Box Testing and White Box Testing.
42
Describe Black Box Testing.
Tests external behavior only, without considering internal workings.
43
Describe White Box Testing.
Tests software considering its internal functioning, logic, and structure.
44
Who typically performs Black Box Testing?
Testers.
45
Who typically performs White Box Testing?
Software developers.
46
When is Black Box Testing typically used?
System Testing or Acceptance Testing.
47
When is White Box Testing typically used?
Unit Testing or Integration Testing.
48
Which testing method focuses on behavior testing?
Black Box Testing.
49
Which testing method focuses on logic testing?
White Box Testing.
50
List aliases for Black Box Testing.
Data-driven testing, functional testing, closed box testing.
51
List aliases for White Box Testing.
Clear box testing, code-based testing, structural testing, transparent testing.
52
Which testing method is well-suited for algorithm testing?
White Box Testing.
53
What are the two main categories of testing types listed on slide 17?
Functional Testing and Non-Functional Testing.
54
List examples of Functional Testing.
Unit Testing, Integration Testing, System Testing, Smoke Testing, Interface Testing, Regression Testing, Beta/Acceptance Testing.
55
List examples of Non-Functional Testing.
Performance Testing, Load Testing, Volume Testing, Security Testing, Compatibility Testing, Installation Testing, Recovery Testing, Reliability Testing, Usability Testing.
56
What are the two broad categories of Methods & Techniques shown?
Development Methods & Techniques and Management Methods & Techniques.
57
List the Development Methods & Techniques shown.
System Engineering, Requirements Analysis, Design, Software Implementation, Testing, Integration, Maintenance.
58
What underpins the Development Methods & Techniques according to the diagram?
Verification & Validation.
59
List the Management Methods & Techniques shown.
Project Planning, Project Tracking & Oversight, Quality Assurance, Configuration Management.
60
Define Verification in software engineering.
The process of determining if the software is designed and developed as per the specified requirements (Are we building the product right?).
61
Define Validation in software engineering.
The process of checking if the software (end product) has met the client's true needs and expectations (Are we building the right product?).
62
What model illustrates the relationship between development and testing levels?
The V-Model.
63
In the V-Model
what links Verification and Validation phases?
64
According to the V-Model
what testing level corresponds to Requirement Gathering?
65
According to the V-Model
what testing level corresponds to Functional Design?
66
According to the V-Model
what testing level corresponds to Internal System Design?
67
According to the V-Model
what testing level corresponds to Module Design?
68
What is the typical focus of a Computer Scientist?
Proves theorems about algorithms, designs languages, defines knowledge representation schemes.
69
What is the typical focus of an Engineer (in software context)?
Develops solutions for application-specific problems, uses tools/techniques/methods.
70
What distinguishes a Software Engineer?
Works in multiple application domains, applying engineering principles to software.
71
How does Computer Science relate to Software Engineering?
Provides the scientific foundation for software.
72
Why is Management Science relevant to Software Engineering?
Software engineering requires both technical and managerial control.
73
How does Economics relate to Software Engineering?
Involves resource estimation, cost control, and working within budgets.
74
Why is System Engineering relevant to Software Engineering?
Most software is part of larger systems, requiring a systems perspective.