system life cycle
analysis → design → implementation → operation → maintenance
software life cycle
planning and analysis → design overview → development → evaluation
feasibility study
Technical, Economic, Legal, Operational, Schedule
legacy system
old technology, hardware, computer system, or application
business merger
combining of two or more business entities
main reason for business merge
reduced cost
SaaS
Software as a Service, data managed at a remote data center, subscriptions
changeover
process of putting a new system online and removing the old one
parallel changeover
both systems work in parallel for a short period of time
big bang/direct changeover
old system unplugged at the same time as new system is plugged in
pilot changeover
used in large organizations with multiple sites, there is one initial pilot group. new system extends over time
phased changeover
converts one module at a time, new system adoption takes longer
data migration
transfer of data between different formats, storage types and computer systems
functional testing
test functionality of individual components
data testing
when abnormal/normal/extreme data is put into the system
Alpha testing
done before public release in software lab
Beta testing
comments and suggestions from users
Dry-run testing
paper and pen test by programmer, mentally determines output
unit testing
individual parts are tested seperately
integration testing
entire system tested at once
user acceptance testing
if system satisfies customer needs before transfer of ownership
debugging
finding and correcting bugs in a program
validation
evaluating if data follows appropriate specifications within reasonable limits
verification
process of ensuring the data input is the same as the original source data
Internal documentation
code comprehension within source code such as meaningful variable names and comments
External documentation
separate from program, user’s guide. details of design and implementations
Manuals
can be on or offline. offline advantages- used without PC or internet. Is like a user’s guide
Email support
users contact support team with questions
Embedded Assistance
integrated user assistance- context specific, task specific, appears within program or system
FAQ
frequently asked questions for a common set of user problems. common on online forums
Live chat
good for emergency situations, feeling of being helped by a real person in real-time
Online portals/web portals
updated manuals support pages, and FAQs all at once
Remote desktop connections
specialized person connects to user’s computer via internet. Ideal for inexperienced users, poses a security risk
self-instruction
self-paced, self-motivated learning. lacks guided instruction, but no tuition fee
formal classes
open discussion between teacher and student, creates more ideas in person
remote learning
any location with a PC and internet connection. self promoted critical thinking. bad for dependent learners
data loss
error condition where data is lost/destroyed due to system failure, negligence, or transmission/processing error
causes of data loss
accidental deletion
administrative error
misplacement
building fire
close without saving
computer virus
use after failure signs
data corruption
natural disaster
outsider tampering
physical damage of storage device
power failure
methods to prevent data loss
regular backups
use hard disks or magnetic tapes
firewall installation
data storage in multiple locations
removed hard copies
installation of antivirus program
human error deduction techniques
online autosave backup
redundancy
duplication of storage devices and stored data, considered failsafe
removable media
permanent, non-volatile data storage (CD, diskettes, USB, DVD)
failover system
computer system ready to take over should the primary system fail
switchover system
primary and secondary server interchange primary role
patches
fixing known bugs/vulnrabilities
upgrades
novel characteristics and functionalities added, usually paid for
updates
improve product in minor way, add new functionalities
Release
final, working versions of software applications, been through tests