Deployment Maintenance and Support Flashcards
Production Environment
Environment in which the hardware and software systems that the user interacts with through the software product.
Deployment
The process of making the product available in the production environment
Support
After the software product has been deployed, the developer will need to help the customer use it
Maintenance
When faults are discovered, the production environment may change and requirements may change, the software product will need to be modified after its deployment
Physical Architecture
The realization of a software product as artifacts (such as files) residing on and executing on computational resources
Logical architecture
The software’s major components and the relationships between them
Personal
Software stored on user’s device and executed on their device.
User data on own device
Shared
Software stored on a shared device and
temporarily delivered to the user device
User data stored on the user device
Mainframe
The software product stored on shared device and
executed on shared device but accessible from a user device
User data stored on shared device
Cloud
Software product stored on shared device
Temporarily delivered to user device and executed on their device
User data is stored on shared device
Mobile Agent
Rare
Software stored on user device
Executed on shared device
Mobile Agent Ex
Change settings on another device through a different device
Artifact
A physical manifestation of a component of a software system.
Examples of artifacts
Files Documents Source Code Diagrams Audio Clips Video Clips
Node
Either a physical device or an execution environment
Examples of nodes
Virtual machine
Operating System
How are artifacts represented
Rectangles <>
How are nodes represented
Boxes <> or description of computational resource.
How is communication between different nodes represented
Communication path
solid line
How is communication between a node and artifact represented
Dependency arrow with stereotype <>
dotted arrow from artifact to node
Deployment Steps
Release - artifacts are assembled into a distributable package
Install - Distributable package is brought to the production env, the artifacts are disassembled and artifacts moved to appropriate nodes
Activate - all executable artifacts are started
Installation and activation steps are……
atomic
Atomic
Though they appear to involve several actions that occur over time, they must appear to be a single activity
Roll back
ability to undo activities and return the production environment to its previous state
Ways tot distribute packages?
Stores (apple Store)
Package Manager (dpkg, fink, RPM)
Virtual Machines (Virtual Box, VMWare)
Containers (Docker)
Corrective Maintenance
Modifications that correct faults after they give rise to failures
Preventive Maintenance
Modifications that correct faults (discovered in the development environment after the product has been deployed) before they give rise to failure in the production env.
Adaptive Maintenance
Modification that keep the product usable in a changed or changing env (migration to another platform)
Perfective Maintenance
Modification that satisfy additional function requirements (adding new features) or non -functional req. (improving performance)
Percentage of effort for development and to a software product and maintenance
20% development
80% software product and maintenance
Why is maintenance expensive (3) reasons
- Software written poorly to begin with makes it expensive to maintain and grow features over time
- as software modified over time its structure deteriorates
- Maintenance w/ traditional processes has same problems as original development : new release does not appear for long time and only then do fundamental problems become obvious
Professional Support
The person interacting with the user is employed, either directly or indirectly , by the developer or provider of the software product
Community Support
The person interacting with the user is another user or an expert who is not employed by the developer or product provider
Synchronous Channel
Both parties participate in the conversation at the same time and any transmission that is not immediately processed by the recipient is lost
Asynchronous Channel
parties participate in the conversation over time.
Ex. of synchronous channels
telephone
chat/messaging
Ex. of Asynchronous Channel
Email
social networking
WWW forms
Issue Tracking System/Call Management/ Ticketing System
Used to accept, prioritize, assign, track, and report on requests for support