Looks like no one added any tags here yet for you.
What are the four system modelling types?
Context model
Behavioral Models
Semantic Data Models
Object Models
Context models:
used to illustrate the operational context of a system
Behavior models:
used to describe the overall behavior of a system
Semantic data models:
used to describe the logical structure of data processed by the system
What are the two types of behavior models?
Two types:
data processing models: show how data is processed as it moves thru the system
simple & intuitive
show end-to-end processing of data
state machine models: show the systems’ response to events
when event occurs, system moves from one state to another
Data dictionaries:
lists of all of the names used in the system models; descriptions of the entities, relationships, and attributes are also included
What are the advantages of data dictionaries?
support name management and avoid duplication
store organizational knowledge linking analysis, design, and implementation
What is a type of semantic models?
object models
Object models:
natural ways of reflecting the real-world entities manipulated by the system
Unified modeling language (UML):
a standard representation devised by the developers of widely used object-oriented analysis and design methods.
What are the two UML diagram types?
static and dynamic
List the static UML diagrams:
Class
Component
Deployment
Object
List the dynamic UML diagrams:
Activity
Sequence
State machine (state transition diagram)
Use case
Multiple inheritance:
allows object classes to inherit from several super-classes
Multiple inheritance can lead to _______ _______ where attributes/services with the same name in different super-classes have different semantics.
sematic conflicts
CASE workbenches:
a coherent set of tools that is designed to support related software process activities such as analysis, design, or testing
Architerual design:
the design process for identifying the sub-systems making up a system and the framework for sub-system control and communication
What is the output of architectural design?
software architecture
What are architecture and system characteristics?
performance
security
safety
availability
maintainability
System organization:
reflects the basic strategy that is used to structure a system
What are the two organizational models?
Data repository model
Client-server model
Data repository model:
sub-systems must exchange data; shared data is held in a central database or repository and may be accessed by all sub-systems
What are the advantages of the data repository model?
efficient way to share large amounts of data
sub-systems need not be concerned with how data is produced; central management
sharing model is published as the repo schema
What are the disadvantages of the data repository model?
sub-systems must agree on a repo data model; inevitably a compromise
data evolution is difficult and expensive
no scope for specific management policies
difficult to distribute efficiently
Client-server model:
shows how data and processing is distributed across a range of components
What are the advantages of the client-server model?
distribution of data is straightforward
makes effective use of networked systems; may require cheaper hardware
easy to add new servers or upgrade existing servers
What are the disadvantages of the client-server model?
no shared data model so sub-systems use different data organization; data interchange may be inefficient
redundant management in each server
no central register of names and services which means it may be hard to find out what servers and services are available.;
Sub-system:
a system in its own right whose operation is independent of the services provided by other sub-systems (basically a component: login, payment, etc.)
Module:
a system component that provides services to other components but would NOT normally be considered as a separate system (basically a component of a component)
Modular decomposition:
the structural level where sub-systems are decomposed into modules
What are the two decomposition models?
an object model where the system is decomposed into an interacting object
A pipeline or data-flow model where the system is decomposed into functional modules which transform inputs into outputs
List the object model advantages (decomposition):
objects are loosely coupled so their implementation can be modified without affecting other objects
the objects may reflect real-world entities
OO implementation languages are widely used
Invoice processing system: Object Model Example
Invoice processing system: Pipeline Example
Control styles:
concerned with the control flow between sub-systems.
“Are we building the product right” refers to:
verification
“Are we building the right product” refers to:
validation
SW inspections refer to ________ verification, while SW testing refers to ________ testing.
static; dynamic
SW Inspections:
examine source representation to discover anomalies and defects WITHOUT execution of the system
can check conformance with a specification but NOT with the customer’s real requirements
CANNOT check non-functional characteristics such as performance, usability, etc.
should NOT be used to conduct inspections for staff appraisal
SW inspection and testing are _________ and not ___________ verification techniques.
complementary; opposing
Inspection procedure:
System overview presented to inspection team
code and associated docs are distributed to inspection team in advance
inspection takes place and discovered errors are noted
modifications are made to fix error
reinspection may or not be needed
checklist of common errors should be made to guide inspection
Typically six people involved in any inspection:
2 code authors
2 code inspectors
1 reader and scriber
1 moderator
Static analyzers are:
SW tools for source text processing
Static analysis:
LINT
Cleanroom SW development philosophy:
defect avoidance rather than defect removal
Cleanroom is based on:
incremental development
formal specification
static verification using correctness arguments
statistical testing to determine program reliability
Cleanroom process teams:
certification
development
specification
System testing involves:
integrating components to create a system or subsystem
What are the two phases of system testing?
Integration testing: testing along the way
Release testing: testing the complete system to deliver as a black-box
What is the difference between glass, white, and black-box testing?
glass: can see code but not edit
white: can see and edit code
black: no access to code
Stress testing:
tests the system beyond maximum design load to test failure behavior
Component testing:
test individual components in isolation
Test case design:
create a set of tests that are effective in validation and defect testing
Test case design approaches:
Requirements testing
Partition testing
Structural testing
Partition testing:
Input data and output results often fall into different classes where all members of a class are related
Each of these classes is an equivalence partition or domain where the program behaves in an equal way for each class member
Structural testing is also known as:
white-box testing
Path testing:
objective is to ensure that each path is executed at least once
flow graph
Test automation:
Junit support
most testing workbenches are open systems because testing needs are organization specific