ACTUAL QUESTIONS AND CORRECT
ANSWERS
Software Engineering - CORRECT ANSWER Multi-person construction of multi-person
software.
System - CORRECT ANSWER Purposeful collection of interrelated components working
together to achieve a common goal.
Requirements Engineering - CORRECT ANSWER The process of eliciting: The services that
the customer requires from a system. The constraints under which it operates and is developed.
Requirements - CORRECT ANSWER Descriptions of the system services and constraints that
are generated during the requirement engineering process.
User Requirements - CORRECT ANSWER Statements in natural language and diagrams of the
system services and operational constraints. Written for customers, so it must use their language and
mental model. Understandable for users who don't have detailed technical knowledge. UML is your
friend.
System Requirements - CORRECT ANSWER A structured document setting out detailed
descriptions of the system's functions, services, and operational constraints. Defines what should be
implemented. Must be concise in their technical effects.
Functional Requirements - CORRECT ANSWER Statements of services the system should
provide. How the system should react to particular inputs. How the system should behave in particular
situation.
Examples of Functional Requirements - CORRECT ANSWER "A library system that provides
a single interface to a number of databases of articles in different libraries". "Users can search for and
download this articles for personal study". "Users shall be able to search either all of the initial set of
databases or select a subset from it". "The system shall provide appropriate viewers for the users to
read documents in the document store".
,Non-Functional Requirements - CORRECT ANSWER These define system properties and
constraints.
Properties: reliability, response time, storage requirements.
Constraints: security, legal impacts, domain expert workflow.
Process Requirements: (e.g.,) a particular programming language.
Example of Non-Functional Requirements - CORRECT ANSWER "The user interface for
LIBSYS shall be implemented as simple HTML without frames or Java applets". "The system shall
not disclose any personal information about customers apart from their name and their registration
identification number"."The system architecture shall be constructed according to the WC3
standards".
UML - CORRECT ANSWER Unified Modelling Language: Standard language for specifying,
visualising, constructing, and documenting all the artefacts of a software system during the software
lifecycle.
UML Diagram Types - CORRECT ANSWER Behavioural.
Functional.
Structural.
Behavioural Diagrams - CORRECT ANSWER Activity Diagram.
State Diagram.
Sequence Diagram.
Structural Diagrams - CORRECT ANSWER Class Diagram.
Object Diagram.
Functional Diagrams - CORRECT ANSWER Use Case Diagram
Use Case Diagram - CORRECT ANSWER Functional.
Visualise relationships between actors (interacting with the system) and use cases (functionality).
, Activity Diagram - CORRECT ANSWER Behavioural.
A diagram that shows the flow of control and data form activity to activity.
Activity diagrams address the dynamic view of a system
Sequence Diagrams - CORRECT ANSWER Behavioural.
Displays object interactions arranged in a time sequence.
How do components interact?
Class Diagrams - CORRECT ANSWER Structural.
Collection of objects with common structure, common behaviour, common relationships, and
common semantics.
State Transition Diagram - CORRECT ANSWER Behavioural.
Show life history of a given class.
Classes that have a lot of dynamic behaviour.
Design Pattern - CORRECT ANSWER Way of re-suing abstract knowledge about a software
design problem and its solution.
Types of design patterns - CORRECT ANSWER Creational
Structural
Behavioural
Behavioural patterns - CORRECT ANSWER Observer