• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/22

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

22 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)

Attributes of good software

Maintainability (evolve to meet changing needs of customers)


Usability (usable without undue effort by type of user for whom it is designed)


Dependability (should not cause damage in case of failure)


Efficiency (should not make wasteful use of resources)

MUDE

What is a software process?

Set of activities and associated results that produce a software product.



Specification (define software and operation constraints)


Development (design and program)


Validation (checked to match with requirements)


Evolution (modified to adapt to changing requirements)

DEVS (SDVE)

Key challenges faced in software engineering

Heterogeneity (systems required to operate across networks with different types of computers/support systems/languages)


Delivery (shortening delivery times for complex systems without compromising quality)


Trust (develop techniques to demonstrate software can be trusted by users)

HDT

Notions of professional responsibility

Confidentiality (of employees or clients, regardless of signed agreement)


Competence (must not falsely represent level of competence)


Intellectual property rights (aware of patents and copyright)


Computer misuse (must not misuse technical skills)

CCIC

Types of emergent properties

Functional (when all parts of system work together)


Non-functional (behavior of system in operational environment)

Only two

Examples of emergent properties

Volume (space occupied based on arrangement of components)


Reliability (depends on component reliability or interactions between components)


Security (ability to resist attack)


Reparability (how easy to fix a problem once discovered)


Usability (how easy to use the system)

SURVR (VRSRU)

Systems Engineering Process

Requirements, design, development, integration, installation, evolution, decommissioning

Waterfall model (RDDIIED)

Differences between system engineering process and software development process

1. Limited scope for rework during system development (software allows changes to be made in response to new requirements, system engineering decisions are expensive to change)


2. Interdisciplinary Involvement (many disciplines in system engineering - scope for misunderstanding due to different terminology and conventions)

Only two

Types of system requirements

Abstract functional requirements (basic functions are an abstract level)


System properties (non functional emergent properties)


Characteristics that the system must not exhibit (specify what the system must not do)

System design process

Partition requirements (organize requirements into related groups)


Identify subsystems (which can individually or collectively meet requirements)


Assign requirements to subsystems


Specify functionality for subsystems (specific functions provided by each subsystem)


Define interfaces for subsystems (interfaces that are provided and required by each step)

PIAFI

Why is system evolution costly

1. Proposed changes have to be analysed carefully from business and technical perspective



2. Changes to one subsystem may adversely affect the behavior of another



3. Those responsible for system evolution have to figure out why particular design decisions were made



4. Corruption of system structure due to age increases cost of further changes

What are legacy systems?

Systems that have evolved over time and are reliant on obsolete hardware and software technology, but still have a critical role in the organization.



Also:



Socio-technical computer-based systems that have been developed in the past, often using older or obsolete technology.

What is decommissioning?

Taking the system out of service after the end of its useful operational lifetime

Factors that affect system design

Process changes


Job changes


Organizational changes

JOP

Legacy system components

System hardware (written for mainframe hardware that's unavailable/expensive/incompatible)


Support software (may be obsolete and no longer supported by original providers)


Application software (system that provides business services developed at different times)


Application data (inconsistent/duplicate data in immense accumulated volume)


Business processes (processes used to achieve some business objectives may be designed around legacy system and constrained by functionality)


Business policies and rules (use of legacy system may be embedded in policies and rules)

Topologically sorted: Top-Bottom, Right to Left

Software Process Model

Simplified description of software process that presents one view it that process.



Examples of types:


1. Workflow model (sequence of activities along with input, dependencies, output)


2. Data flow model (represents set of activities, each carrying out some data transformation; shows how input is transformed to output)


3. Role/Action model (roles of people involved in the process and their activities)



General models:


1. Waterfall Approach (separate process phases)


2. Iterative development (interleaves activities of specification, development and validation)


3. CBSE (integrating existing parts of the system)

Examples of types, and general models

Characteristics of socio-technical systems

1. They have emergent properties


2. They are nondeterministic


3. Extent to which organizational objectives are supported do not depend on the system alone

System procurement process

1. Off-the-shelf systems do not match requirements exactly


2. Requirement specification document is legal as well as technical


3. After contractor selected, there is negotiation period to discuss requirements/cost of changes to system

Types of critical systems

Safety critical systems (failure may result in injury/loss/serious damage)


Mission critical system (failure may result in the failure of goal-directed activity)


Business-critical systems (failure may result in high cost for business using system)

SMB

Why is dependability the most important emergent property?

1. Unreliable/unsafe/insecure systems rejected by users


2. Failure costs may be enormous


3. Untrustworthy systems may cause information loss

RCL

Boehm's spiral model

Simple safety critical system