Phases of Software Engineering (Midterms) Flashcards
Phases
Phases of
Software
Engineering
- Requirements Analysis
- System Design
- Validation
- Evolution
REQUIREMENT
ANALYSIS ACTIVITIES
Eliciting Requirements
Analyzing Requirements
Recording Requirements
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
Determining whether the stated requirements are unclear, incomplete, ambiguous, or contradictory, and then resolved these issues.
Recording Requirements
Two kinds of requirements
User Requirements
System Requirements
detailed description of what
the system should do including the software system’s functions, services, and operational constraints.
System 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
The study considers whether the proposed system will be cost-effective from a business point of view.
Feasibility Study
Describe what the system should do. Product features or functions that developers must implement to enable users to accomplish their tasks.
Functional Requirements
Specify the characteristics of the system as a whole. A set of specifications that describe the system’s operational capabilities and constraints and attempt to
improve its functionality.
Non- Functional Requirements
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
Where you identify the overall structure of the system
Architectural Design
Where you define the interfaces between system components.
Interface Design
Where you take each system component and design how it will
operate
Component 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. 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.
are we building the right product?
VALIDATION
Defined as an incorrect product behavior.
failure
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.
are we building the product right
Verification
STAGES IN THE TESTING PROCESS
- Development Testing
- System Testing
- Acceptance Testing/Alpha Testing
-Each component is tested independently without the other sub systems.
-Components may be simple entities such as functions, objects, or classes
Development Testing
-Concerned with finding errors that result from unanticipated interactions between components and component interface problems.
-Concerned with showing that the system meets its functional and nonfunctional requirements
System Testing
May reveal errors and omissions in system requirements definitions
Acceptance Testing/Alpha Testing
the final internal acceptance testing for your software.
Alpha testing
The process of developing a software product using software engineering principles and methods is referred to as software evolution.
EVOLUTION
This process changes to the original software, till the desired software is accomplished.
EVOLUTION
PEOPLE IN THE
DEVELOPMENT
- Development Team
- End – users
- responsible in making the software
- Build/create the software.
Development Team
used/ utilize the system
End – users
Understands the system
Analyst
Defines the software architecture, components, modules, interfaces.
System Designer
write codes of the system in a specific programming language
Programmer
reviews faults and errors of the system
Tester
- Performs the daily task/operation of the organization
- Concern: How does it work?
Operational Job
- Performs supervisory job
- Concern: Physical Interface & Performance
Supervisor
- Provides finances and initiatives
- Outputs/results
Executive
- management focused on
providing confidence that quality requirements will be fulfilled - groups and external organizations which set standards to be followed
Quality Assurance (QA)
is the total characteristics of an entity to satisfy stated and implied needs .
Quality
if it is fit for use
Software Quality
Three Perspectives of Software Quality
Quality of the Product
Quality of the Process
Quality in the context of System Environment
- relative to the person analyzing quality.
Quality of the Product
- failures of task are avoided
- system development process is improved
Quality of the Process
- in terms of products/services provided by the business in which the software is used.
- software adds value to the business
Quality in the Context of business Environment
Characteristics of a well-engineered Software
- Usability
- Portability
- Reusability
- Maintainability
- Dependability
- Efficiency
ease with which the user communicates with the system
Usability
capability of the software to execute in different platforms
Portability
ability to transfer from one system to another
Reusability
ability to evolved and adopt change over time.
Maintainability
characteristics of the software to be reliable, secure, and safe.
Dependability
capability to use resources efficiently.
Efficiency