Lecture Notes 2 Flashcards

1
Q

What are the 4 phases of software engineering?

A

REQUIREMENTS ANALYSIS
SYSTEM DESIGN
VALIDATION
EVOLUTION

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

The task communicating with customers and users to determine what
their requirements are. This is sometimes called Requirements Gathering.

A

Eliciting Requirements

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

Determining whether the stated requirements are unclear, incomplete,
ambiguous, or contradictory, and then resolved these issues.

A

Analyzing Requirements

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

Requirements might be documented in various forms, such as natural-
language documents, use cases, user stories, or process specifications.

A

Recording Requirements

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

High-level abstract requirements written as statements, in a natural language
plus diagrams, of what services the system is expected to provide to system users and the constraints under which it must operate.

A

User Requirements

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

A user shall be able to search the
appointments lists for all clinics.

A

Search Appointment

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

Two kinds of requirements based on the intended purpose and target
audience:

A

User Requirements
System Requirements

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

detailed description of what the system should do including the software system’s
functions, services, and operational constraints.

A

System Requirements-

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

REQUIREMENT Analysis includes three types of activity:

A

Eliciting Requirements
Analyzing Requirements
Recording Requirements

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

The study considers whether the proposed system
will be cost-effective from a business point of view.

A

Feasibility Study

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

An estimate of whether the identified user needs may be satisfied using current software and hardware technologies.

A

Feasibility Study

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

product features or functions that developers must
implement to enable users to accomplish their tasks

A

Functional Requirements

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

describe what the system should do.

A

Functional Requirements

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

what are the 2 examples of Functional Requirements?

A

Search Appointment
Generate Reports

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

The system shall generate each day, for
each clinic, a list of patients who are expected to attend
appointments that day.

A

Generate Reports

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

The system allows the user to create account.

A

Create Account

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

The system allows the user to search books based on title,
publication, etc. and find their location in the library.

A

Search

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

The system allows the user to view the list of books available

A

View

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

The system can print/generate reports such as list of books, list of
borrowers, etc.

A

Generate Reports

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  • Specify the characteristics of the system as a whole.
A

Non- Functional Requirements

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

a set of specifications that describe the system’s
operational capabilities and constraints and attempt to
improve its functionality.

A

Non- Functional Requirements

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

More often more critical than individual functional
requirements.

A

Non- Functional Requirements

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

EXAMPLES OF Non- Functional Requirements

A

Reliability, response time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
If NFRs not addressed properly, the results can include: * Users, clients, and developers are unsatisfied. * Inconsistent software. * Time and cost overrun to fix the software which was prepared without keeping NFRs in mind.
TRUE
12
The user-interface should be simple enough for everyone to understand the system.
Usability
13
The data stored about books and the fines calculated should be correct, consistent, and reliable.
Accuracy
13
The software should be easily maintainable and adding new features and making changes to the software must be as simple as possible.
Maintainability
13
* It is the process of defining the elements of a system such as the architecture, modules and components, the different interfaces of those components and the data that goes through that system.
SYSTEM DESIGN
13
Systems design implies a systematic approach to the design of a system.
SYSTEM DESIGN
14
* It is meant to satisfy specific needs and requirements of a business or organization through the engineering of a coherent and well-running system
SYSTEM DESIGN
15
It may take a bottom-up or top-down approach, but either way the process is systematic wherein it takes into account all related variables of the system that needs to be created—from the architecture to the required hardware and software, right down to the data and how it travels and transforms throughout its travel through the system.
SYSTEM DESIGN
15
4 types of SYSTEM DESIGN
Architectural Design Interface Design Component Design Database Design
16
Where you identify the overall structure of the system
Architectural Design
17
Where you define the interfaces between system components.
Interface Design
18
Where you design the system data structures and how these are to be presented in a database.
Database Design
18
Also called “Software Validation and Verification”
Validation
18
refers to the process of determining whether or not the products of a given phase of a software development process fulfill the process established during the previous phase.
Validation
18
Where you take each system component and design how it will operate.
Component Design
19
refers to the process of evaluating software at the end of its development to ensure that it is free from failures and complies with its requirements.
Validation
19
is defined as an incorrect product behavior.
failure
19
are we building the product right
VERIFICATION
20
Software V&V Approaches
Software Technical Reviews Software Testing Proof of Correctness Simulation and Prototyping Requirements Tracing
20
checks if the product functions are what the customer really wants
Validation
20
* are we building the right product?
Validation
21
-Each component is tested independently without the other sub systems.
Development Testing
21
3 STAGES IN THE TESTING PROCESS
1. Development Testing 2. System Testing 3. Acceptance Testing/Alpha Testing
21
checks if the products meet the requirements definition
VERIFICATION
21
-Components may be simple entities such as functions, objects, or classes
Development Testing
22
the test team knows exactly how the software behaves
Alpha testing
23
-Concerned with finding errors that result from unanticipated interactions between components and component interface problems.
System Testing
23
-Concerned with showing that the system meets its functional and non- functional requirements
System Testing
23
is the final internal acceptance testing for your software.
Alpha testing
24
May reveal errors and omissions in system requirements definitions
Acceptance Testing/Alpha Testing
25
it ensures that your software is bug-free, stable, and functioning as expected
Alpha testing
25
it aims to test every single user flow end to end
Alpha testing
25
PEOPLE IN THE DEVELOPMENT
1. Development Team 2. End – users
25
The process of developing a software product using software engineering principles and methods is referred to as software evolution.
evolution
26
a white boxQ testing
Alpha testing
27
Understands the system
Analyst
27
starts from the requirement gathering process.
evolution
27
The process of developing a software product using software engineering principles and methods is referred to as _____ evolution.
software evolution
27
evolution processes include:
Change Request Impact Analysis Release Planning System Update System Release
27
This includes the initial development of software and its maintenance and updates, till desired software product is developed, which satisfies the expected requirements.
evolution
28
After which developers create a prototype and show it to the users for their feedback at the early stage of software development.
evolution
28
responsible in making the software
1. Development Team
29
The users suggest changes, on which several consecutive updates and maintenance keep on changing.
evolution
30
Build/create the software.
1. Development Team
31
Defines the software architecture, components, modules, interfaces.
System Designer
32
write codes of the system in a specific programming language
Programmer
32
* Directly Involved in the system
* Operational Job * Supervisor * Executive
32
reviews faults and errors of the system
Tester
32
Development Team
Analyst System Designer Programmer Tester
32
- if it is fit for use
Software Quality
32
used/ utilize the system
2. End – users
32
part of quality management focused on providing confidence that quality requirements will be fulfilled.(ISO 9000)
* Quality Assurance (QA)
33
* Performs the daily task/operation of the organization * Concern: How does it work?
* Operational Job
33
* Performs supervisory job * Concern: Physical Interface & Performance
* Supervisor
33
Indirectly Involved in the system
* Quality Assurance (QA)
33
- errors and faults found during the SE process
* dev’t team
34
* Provides finances and initiatives * Outputs/results * Concern: global view of the system
* Executive
34
groups and external organizations which set standards to be followed
* Quality Assurance (QA)
34
ability to evolved and adopt change over time.
Maintainability
34
- is the total characteristics of an entity to satisfy stated and implied needs .
Quality
34
Three Perspectives of Software qUALITY
Quality of the Product Quality of the Process Quality in the context of System Environment
35
capability to use resources efficiently.
Efficiency
35
- in terms of products/services provided by the business in which the software is used.
Quality in the Context of business Environment
35
- relative to the person analyzing quality.
Quality of the Product
35
- failures of task are avoided - system development process is improved
Quality of the Process
35
- if it gives what they want and when they want it, all the time.
*end-users
36
ensures that the software product complies with user requirements and standards.
SOFTWARE QUALITY ASSURANCE
36
- software adds value to the business
Quality in the Context of business Environment
36
Characteristics of a well-engineered Software
* Usability * Portability * Reusability * Maintainability * Dependability * Efficiency
36
ease with which the user communicates with the system
Usability
36
capability of the software to execute in different platforms.
Portability
37
ability to transfer from one system to another
Reusability
37
characteristics of the software to be reliable, secure, and safe.
Dependability
37
1. Respect your teammates, even when you disagree or they are wrong. 2. Accept group decision even when you disagree. 3. You must include all group members in decisions. 4. You should do your best to contribute to your team. 5. Email or text is not a good medium for resolving problems.
INTERPERSONAL COMMUNICATION RULES