Unit 4.1 - softdev Flashcards
an ENGINEERING DISCIPLINE
concerned with all aspects of software production, from
the early stages of system specification through to
maintaining the system after it has gone into use.
Software Engineer
This environment is a nearly EXACT REPLICA of the production, environment so it seeks to MIRROR AN ACTUAL PRODUCTION
environment as closely as possible to ensure the software works correctly.
Staging Environment
kept invisible from end-users.
Staging environment
This is where the software is PRODUCED and is running on a production server. It has officially gone LIVE to real
users.
production environment
this is where the DEVELOPMENT of
the software takes place. It is the first environment where
developers write the first lines of code and do all the code updates.
Development Environment
The TESTING environment allows QA engineers to TEST new and changed code whether via automated or non- automated techniques.
If there is a TEST failure, the faulty code can be removed in this environment. Thus, testers can ensure the quality of the code by finding any bugs and reviewing all bug fixes. If all tests pass, the test environment can automatically
move the code to the next deployment environment.
TESTING ENVIRONMENT
This is the practice of establishing the services that the CUSTOMER NEEDS from a system. They help define exactly what NEEDS TO BE IMPLEMENTED in the software to be developed.
Requirements engineering
How the SYSTEM SHOULD BEHAVE in
reaction to particular inputs and how the
SYSTEM SHOULD PERFORM when presented
with specific situations. Depend on the type of software, expected users and the type of organization where the SYSTEM IS DEVELOP
functional requirements
three things to determine these functional
requirements?
Determine the Business Need, Define
Functional Requirements, Discuss
Possible Solutions
The first stage is
__________________
As a precursor to this
it is usually necessary
to find out what is
currently happening.
ESTABLISHING WHAT
EXACTLY IS NEEDED.
There are a number of
techniques used for this in
__________ people,
_________ them, looking
at the _______ and
OBJECTS that THEY WORK
WITH, ________ them
directly.
INTERVIEWING, VIDEOTAPING. DOCUMENTS, OBSERVING
These are the things the
end user needs the app to
do. Think in terms of end
result
business requirements.
These are the specific
situations that the USER IS LIKELY TO ENCOUNTER..
USE CASES
By creating these
STORIES , you’re able to visualize
a functional, successful app
that the user understands.
User stories
Your USERS want something
that’s ___________, __________ and ________ on a
regular basis.
easy to understand, easy
to pick up, easy to use
are high-level statements of what the system should do. Should describe functional and non-functional requirements. Should be understandable by system USERS who
don’t have detailed technical knowledge
user requirement
should describe the system services in detail. Statements that set out detailed descriptions of the system’s functions, services and operational
constraints.
System Requirements
what makes a good FUNCTIONAL REQUIREMENT?
Unambiguous, Testable (verify, validate), Clear, Understandable, Visible, Feasible, Independent, Atomic (Traceable), Necessary, Implementation Free
is a requirement that SPECIFIES THE STANDARDS that can be used to judge a system’s operation, rather than specific behaviors. define how a SYSTEM IS SUPPOSED TO BE AS OPPOSED TO WHAT IT IS SUPPOSED TO DO.
NON-FUNCTIONAL REQUIREMENTS
What is CIAS?
Confidentiality, integrity, Availability, Security
A dev team that addresses both functional
and non-functional requirements when
building an app is much more likely to
_____________________________________________
without unnecessarily exposing the users or
the business to risk.
produce an app that meets the user’s needs
WHAT MAKES A GOOD NON-
FUNCTIONAL REQUIREMENT?
Availability, Efficiency, Flexibility, Portability, Integrity, Performance, Reliability, Reusability, Robustness, Scalability, Usability
what are the 12 NON FUNCTIONAL
REQUIREMENTS FOR EVERY APP
Response Times, Processing Times, Query & Reporting times. Throughput, Hours of operation, Location of operation, Architecture Standards, Coding Standards, Restore time,
Backup Time
is used to determine and identify technical faults, problem solving and software compatibility.
Computer Jargons