Lecture Notes 2 Flashcards
What are the 4 phases of software engineering?
REQUIREMENTS ANALYSIS
SYSTEM DESIGN
VALIDATION
EVOLUTION
The task communicating with customers and users to determine what
their requirements are. This is sometimes called Requirements Gathering.
Eliciting Requirements
Determining whether the stated requirements are unclear, incomplete,
ambiguous, or contradictory, and then resolved these issues.
Analyzing Requirements
Requirements might be documented in various forms, such as natural-
language documents, use cases, user stories, or process specifications.
Recording Requirements
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.
User Requirements
A user shall be able to search the
appointments lists for all clinics.
Search Appointment
Two kinds of requirements based on the intended purpose and target
audience:
User Requirements
System Requirements
detailed description of what the system should do including the software system’s
functions, services, and operational constraints.
System Requirements-
REQUIREMENT Analysis includes three types of activity:
Eliciting Requirements
Analyzing Requirements
Recording Requirements
The study considers whether the proposed system
will be cost-effective from a business point of view.
Feasibility Study
An estimate of whether the identified user needs may be satisfied using current software and hardware technologies.
Feasibility Study
product features or functions that developers must
implement to enable users to accomplish their tasks
Functional Requirements
describe what the system should do.
Functional Requirements
what are the 2 examples of Functional Requirements?
Search Appointment
Generate Reports
The system shall generate each day, for
each clinic, a list of patients who are expected to attend
appointments that day.
Generate Reports
The system allows the user to create account.
Create Account
The system allows the user to search books based on title,
publication, etc. and find their location in the library.
Search
The system allows the user to view the list of books available
View
The system can print/generate reports such as list of books, list of
borrowers, etc.
Generate Reports
- Specify the characteristics of the system as a whole.
Non- Functional Requirements
a set of specifications that describe the system’s
operational capabilities and constraints and attempt to
improve its functionality.
Non- Functional Requirements
More often more critical than individual functional
requirements.
Non- Functional Requirements
EXAMPLES OF Non- Functional Requirements
Reliability, response time
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
The user-interface should be simple enough for everyone to
understand the system.
Usability
The data stored about books and the fines calculated
should be correct, consistent, and reliable.
Accuracy
The software should be easily maintainable and adding new
features and making changes to the software must be as
simple as possible.
Maintainability
- 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
Systems design implies a systematic approach to the design of a system.
SYSTEM DESIGN
- 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
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
4 types of SYSTEM DESIGN
Architectural Design
Interface Design
Component Design
Database Design
Where you identify the overall structure of the system
Architectural Design
Where you define the interfaces between system components.
Interface Design
Where you design the system data structures and how these are to
be presented in a database.
Database Design
Also called “Software Validation and Verification”
Validation
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
Where you take each system component and design how it will
operate.
Component Design