Systems analysis Flashcards
Waterfall
sequential design process where developers drafts out all of the requirements for a system up front
waterfall pros
client knows what to expect (cost, time), strong documentation allows new team members to be added easily
waterfall cons
sequential so cannot go back to previous stage of development, if initial requirements are faulty project will likely fail, product only tested after completion so early bugs will impact large bits of code.
agile/scrum
incremental approach, start with simple project design and work on small modules in sprints - best suited when end goal not clearly defined
agile pros
changes can be made after initial phase, testing done throughout so bugs are found early, closer relationship between customer an developer
agile cons
can be hard to predict time needed/costs so can be easy to overrun/go overbudget
user documentation
targeted towards novice users so must be straightforward without technical terms. should help user perform any task on system
user documentation examples
instruction manual
installation guide
FAQs
technical/maintentance documentation
helps employees maintain system and ensure it runs smoothly once implemented
maintenance docs examples
data dictionary,
annotated code listings,
variable listing
feasability study
1st stage in systems analysis
aims to understand the problem and determine if it is worth proceeding
feasability report produced at the end
feasability study components
economic
time
technical
political
operational
legal
economic feasability
cost effectiveness
do benefits outweigh costs (wages, hardware etc)?
time feasability
can it be completed in desired time frame?
technical feasability
does technology needed exist?
can project be done with resources available?
does dev team have technical skills needed?
political feasability
is it politically motivated?
does it go against people’s beliefs?
eg government work
observations
analyst shadows employee in natural environment making notes on how they do their job
operational feasability
are current work practises and procedures enough to support new system?
investigation (analysis)
2nd stage of development
defines all the requirements of the project
main investigation methods
observations
questionaires
interviews
document collection
legal feasability
will project comply with laws in all countries it will be released in?
observation pro
picks up subtle aspects that may have been otherwise missed
observation con
people may feel intimidated being watched altering their behavior
questionaires pros
can be given to large num of people to get large num of opinions
questionaire cons
creator must have knowledge of the system being built and the people it is being sent to
not all sent out will be completed
document collection
analyst gathers documents relating to system eg invoices, orders etc to help see what new system needs
doc collection pros
documents are reliable
doesn’t interrupt workers
doc collection cons
may contain sensitive info causing viewing restrictions
gives limited view of system
interviews
key stakeholders are asked targeted questions about current system
interview pros
can ask detailed questions with follow up questions
interview cons
people can lie so responses must be verified
time consuming so only small num of people can be interviewed
abstraction
reduce to simplest set of characteristics most relevant to solving problem
control abstraction
hides actions and programming control (eg if statements)
data abstraction
hides how bits are organised for primitive data types ( eg floating points)
decomposition
break large problem into series of sub-problems that can be solved individually and merged to solve whole problem
systems implementation
the transfer of the completed project over to the user (4th stage after design)
changeover methods
parallel
pilot
big bang
phased
parallel implementation
systems run parallel to each other for a time period to allow users to choose
parallel pros
users can learn at their own pace,
if new system crashes can fall back on old one,
can receive feedback
parallel cons
some processes are linear and need all using same system
hardware may not be able to cope with 2 systems
stubborn old system users will still face big bang eventually
phased changeover
a modular system implemented gradually with each old module being replaced with a new one
phased pros
users can get used to changes gradually
phased cons
can take long time and devs must be paid for all of it
new system must be modular and fully integrated with old system
users may get frustrated with combined system
big bang/ direct changeover
old system turned off and new system immediately installed
big bang pros
doesn’t require additional resources
users forces to use new system so can learn together and help each other
only a temporary cut to productivity
big bang cons
if system fails there is nothing to revert back to
training can be hard as everyone is new
pilot changeover
in large organisation with departments, several departments can change to new system and provide feedback
pilot pros
can receive feedback
initial users can change other departments after full release
pilot cons
users can become isolated from rest of organisation
can be expensive if changes are asked to be made
corrective maintenance
system developers called in to fix problems (eg bugs, logical errors)
expensive to devs as they should have been spotted in testing
white box testing
focuses on program structure - program code is studied and tests are devised to test each possible path (control statement) at least once
black box testing
tests functions of the code - creates set of test data to cover all inputs, outputs and program function (valid, invalid and extreme data)
does code do what it is supposed to do?
alpha testing
carried out by dev’s in house testing team
highlights errors and omissions in system requirements
alpha builds often not stable and won’t work fully as customers won’t see it.
unit testing
ensures individual modules are working as intended
integration testing
tests interface between 2 or more software modules to ensure they work together seamlessly. can be done gradually or all together.
beta testing
done when product more stable
product given to number of potential users who will test and report problems to devs.
exposes product to real use.
acceptance/end user testing
final stage to ensure devs and client agree system meets the requirements so it can be signed off.
incremental backup
only backs up parts of system that have been changed since last backup
requires processing to determines which files have been changed
full backup
complete backup of all files, software etc that is done regularly and held offsite for safety.
methods of storing backups
external hard drive/memory stick
CD/DVD
magnetic tapes
dedicated backup server
cloud
perfective maintenance
small changes made after system acceptance by devs to make system ‘perfect’
eg changing colour scheme for individual users
adaptive maintenance
changes made by client request after completion of the project at additional cost as they weren’t in the original brief
backup
process of copying files from main storage to separate area so if file deleted the backup can be accessed to retrieve it
file recovery
copying file from backup to wherever file is needed
waterfall development stages
- feasability study
- analysis (investigation)
- design
- implementation
- testing
- installation
- evaluation
- maintenance