Exam Questions and CORRECT Answers
Repository Architecture - CORRECT ANSWER sub-systems must exchange data:
shared data held in central database/repository and may be accessed by all sub-systems
each sub-system maintains own database and passes data explicitly to other sub-systems
Large amounts of data to be shared
All data in system is managed in central repository that is accessible to all system components
Components do not interact directly, only through repository
Use when:
system in which large volumes of info are generated that has to be stored for a long time
data-driven system where inclusion of data in repository triggers action/tool
+: components can be independent
do not need to know of existence of other components
changes made by 1 component can be propagated to all components
all data can be managed consistently b/c all in one place
-: repository is single point of failure so repository errors affect whole system
May be inefficiencies in organizing all comm through repository
distributing repository through several computers may be diff
Client-server Architecture - CORRECT ANSWER distributed system model shows how data
and processing is distributed across a range of components; can be implemented on a single
computer
set of stand-alone servers which provide specific services such as printing, data management, etc.
set of clients which call on these services
,network which allows clients to access servers
functionality of system is org into services - delivered from a separate server
clients - users of these services and access servers to make use of them
Used when:
data in a shared database has to be accessed from a range of locations
servers can be replicated -> load on a system is variable
+: servers can be distributed across a network
general functionality can be available to all clients and does not need to be implemented by all
services
-: each service is a single point of failure so susceqptible to denial of service attacks or server
failure
performance may be unpredictable because it depends on network and system
may be management problems if servers are owned by diff orgs
Requirement Engineering - CORRECT ANSWER Process of establishing
services that a customer requires from system
constraints under which services operate and are developed
Types of Requirements - CORRECT ANSWER User Requirements
System Requirements
User Requirement - CORRECT ANSWER Statements in natural language + diagrams of
services the system provides + operational constrainsts
Use case diagram
Written for customers - no technical info
,System Requirements - CORRECT ANSWER structured document with detailed descriptions
of system's functions, services, and operational constraints
Should be both consistent and complete - may be impossible in reality due to system and env
complexity
Always expect change because don't have all reqs documents at the beginning and may change
over time
Functional Requirements - CORRECT ANSWER Statement of services system should
provide, how system should react to inputs, and how the system should behave in particular
situations
May state what system should not do
Inputs, outputs, error messages, user perspective
Functionality or sevices = what does it do?
Depends on type of sw, expected users, type of system
May be high-level statements in natural language about what system should do
Should describe system services in detail
Non-functional Requirements - CORRECT ANSWER constraints on services or functions
offered by system such as:
timing
development process
standards of org, laws
type of documentation
code language
Often apply to system as a whole rather than individual features or services = system-wide
May be vague
Define system properties or constraints:
Reliability
Response time and storage reqs; prioritize
Process reqs: specify IDE, programm. lang., dev method
, May be more critical than functional reqs b/c w/o = useless system
Complete Requirements - CORRECT ANSWER descriptions of all facilities required
Consistent Requirements - CORRECT ANSWER Should be no conflicts or contradictions in
the descriptions of the system facilities
Have resolved multiple ppl, users in conflict
Sources of Nonfunctional Requirements - CORRECT ANSWER Product
Organizational
External: sw eng code of ethics = expectation, external review - safety, etc.
Product Requirements - CORRECT ANSWER Usability - hard to define
Efficiency
Dependability
Security
Efficiency Requirements - CORRECT ANSWER Performance
Space
Always there is a trade-off btwn space and time
Organizational Requirements - CORRECT ANSWER Environmental: in-person vs. virtual,
location
Operational: IDE, process by org, not users
Development
External Requirements - CORRECT ANSWER Regulatory
Ethical