Systems Analysis Flashcards
What are the two Systems Life Cycles called?
Waterfall cycle
Agile cycle
What is the waterfall approach?
- each step is completed one at a time from beginning to end
- the different stages are arranged in order, each stage feeding into the next
- no stage of the development can be begun until the preceding one has been completed
- each stage ends with a handover document produced to inform the next stage
What are the advantages of the waterfall approach?
- simple to understand
- suitable for large projects where the requirements are clearly understood
What are the disadvantages of the waterfall approach?
- very bad at reacting to changing requirements
- not suitable for projects where the requirements may not be fully understood at the start
What does a feasibility study do?
A feasibility study involves looking at whether the project is worth carrying out in terms of cost, time, technical practicality and cost effectiveness
Can it be completed on budget?
Can it be completed in the time scale?
What does the analysis stage do?
(Comes after the feasibility study stage)
The analysis stage of a project focuses on understanding and defining the user requirements
- usually carried out by a systems analyst ( systems analysts are trained in the techniques that allow them to carry out a thorough investigation and document their findings)
- throughout this stage, the systems analyst works very closely with the client to make sure thet their requirements are fully understood
What do the outputs of the analysis stage include?
Problem definition - a clear definition of the problem and its domain
System requirements/objectives - a close description of what the system needs to do
What does the design stage do?
- Creating the user interface
- What the system looks like
- how it should function
- what it should produce
What do the outputs of the design stage include
- user interface
- system outputs (e.g. reports, graphs, emails)
- algorithms
- data structures
- security features
What is the implementation & testing stage and what does it do?
- the implementation stage is building the solution
- a system must be thoroughly tested before being installed and going live to make sure errors are discovered and corrected before going live.
What is the evaluation stage and what does it do?
Don’t know yet lol
What does system maintainance do?
-System maintenance conforms the system to its original requirements.
Name the stages In order of the sandwich development cycle
Feasibility study
Analysis
Design
Implement
Evaluation
Maintenance
What does the agile approach do?
- it advocates building prototypes, testing and incorporating feedback as soon as possible
- teams are trusted to organise and manage themselves
Advantages of the agile approach
- allows for changes to be made after the initial planning l. Re-writes to the program and clients decides to make changes are expected
- easier to add features that keep upto date with latest developments (because agile allows changes to be made)
- At the end of each sprint project priorities are evaluated each allows clients to add their feedback to ensure they get the product they need
- as products are tested so thoroughly with Agile, the product could be launched at the end of any cycle and is therefore more likely to reach launch date.
What are the disadvantages of the agile approach
- needs a very good project manager to keep project focused, otherwise could come in listen and over budget
- as there is no definitive plan, the final product could be vastly different than what was initially intended
- documentation is often neglected
What is abstraction
Abstraction is the process of taking out characteristics that are not needed or relevant in data
What is decomposition
Decomposition is breaking a problem down Into smaller chunks to make it easier to tackle
Describe the 4 different symbols in a data flow diagram and what they do
Entity (a square) - a data source or destination
Process (a square with curved edges) - an operation performed on the data
Data store (rectangle with missing side on right) - a file
Data flow (arrow) - the data and its direction of flow
When choosing hardware, what are the main requirements?
- Hardware must meet requirements of proposed system
- hardware must support current software
- hardware must be upgradeable and expandable
When choosing software, what do you think are the main requirements?
- software must meet requirements of proposed system
- software must be compatible with current and future hardware
What is a changeover
Once a system has been designed, coded and tested it needs to replace the old system. This can be achieved in 4 different ways
What are the 4 different methods of changeover
Direct Changeover
Pilot changeover
Phased changeover
Parallel changeover
What does Direct changeover entale
The user stops using the old system once a day and starts using the new system the next day; usually over a weekend
What is one advantage and disadvantage of direct changeover
An advantage of this system Is that it Is fast and efficient, with minimum duplication of work involved.
The disadvantage is that normal operations could be seriously disrupted if the new system has errors in it or does not work quite as expected
What does pilot changeover entale
Rather than risking using a complete new system on the whole organisation, a department is selected in the organisation and they run the new system while the remainder continue with established procedures. Eventually, when all the problems are ironed out, the whole organisation can move to the new system.
Name one advantage of pilot changeover
An advantage of pilot changeover is that any potential problems will be exposed and only a minority of the organisation is affected
What does parallel conversion entale
The old system continues alongside the new system for a few weeks or months
Name one advantage and disadvantage of parallel conversion
An advantage is that results from the new system can be checked against known results, and if any difficulties occur, operations can continue under the old system while the error is sorted out.
The disadvantage of parallel running is the duplication of effort required to keep both systems running, which may put a strain on personnel.
What does phased conversion entale
Used with larger systems thar can be broken down into individual modules that can be implemented separately at different times
Phased conversion could be direct or parallel
What is alpha testing and when is it Carried out?
In-house testing
It is carried out when the code is roughly ready
The software progeammers have made initial checks for ensure the specifications are met
The code is then sent to a testing team with the task of formally checking the code
Occurs before the customer agrees to accept the final program
What is beta testing and when is it carried out?
Beta testing is carried out when the code is “nearly” ready (will contain some bugs)
Carried out after alpha and later in the software development life cycle
Beta builds are shared with a number of end users which test the system with live data
Beta testers would use the software in every way they can think in an attempt to see if any bugs are exposed
The bugs are the reported to the development team
What is End user (acceptance) testing and when is it carried out
End user testing occurs before the customer agrees to pay for the final system
The end user tests the system with real data
Used to ensure that what the developer has produced meets the requirements and prove it so they can be paid
What are the three different types of maintenance?
Perfective maintenance
Adaptive maintenance
Corrective maintenance
What does perfective maintenance entale
It improves the efficiency of the current system without making any substantial design changes
To improve a system in use
I.e. system works but could work better
What does adaptive maintenance entale
Involves changing design and adding substantial amounts of code to the system to adapt it
Change a system in use
What does Corrective maintenance entale
It attempts to eliminate bugs from a computer system which involves recording, but not changing the design of the system.
However, no system can ever be claimed as bug-free
What is backup?
Backup is the process of copying files from main storage to a separate area
When creating a backup policy, what would you need to decide on?
Where will the backup be stored
What will it be stored on
How often will the backup be taken
How long will a backup be kept
What is recovery?
The process of copying the file from the backup to wherever the file is needed
When is user documentation produced?
Produced when the application has been completed
What would user documentation include?
- step by step getting started guides or tutorials for the main features of the system
- installation guide
- user guide focusing on user tasks
- reference manual
- error messages and trouble-shooting guide
What would be used in technical/maintenance documentation
Any form of diagrams used in analysis and design
Data structure
Algorithm designs - (flowchart)
Annotated code listings - code listings that abide by the coding standards set out by the development company
Variable lists - lists of the key variables listing their data types and purpose
Describe agile approach to analysis and design
Incremental approach
Developers start with simple project design and requirements
Clients are involved in all stages of development
Strong communication between client and developer + regular
Describe Waterfall approach to analysis and design
Sequential process
Developers draft the design of a system up front and does not change
Cannot go back and make changes once analysis and design stages are complete
Client input is only required during analysis and at times the design stage
Less communication between client and developer
Advantages and disadvantages of decomposition
Advantages:
Different members of team can work on different sub problems
Makes Maintainance easier
Disadvantages:
- difficult to combine sub problems to solve original problem
- poorly understood problems are difficult to decompose
What are the four different methods of investigation
Observation
Questionnaire
Document collecting
Interview
Pros and cons off observation
Pros
Can actually see what is happening, don’t rely on others
Pick up parts of system that aren’t immediately obvious to the customer
Confirm information gathered through different fact finding methods
Cons
Time consuming so expensive to carry out
Staff may feel watched and change behaviour
No guarantee some subtle parts of the system will show up during
Pros and cons of questionnaire
Pros Cheap + mass produce Can be distributed worldwide Could be completed online Anonymous (more honest) Cheaper than interviewing
Cons
Hard to create and design a good questionnaire
Not all will be completed
People don’t always take questionnaires as seriously as interviews
No follow up questions
Pros and cons of document collection
Pros
See how system should be operating
Inexpensive method of gathering large amounts of data
Can identify storage requirements
Reliable and show most of the data stored in the system
Cons
Staff may not be following procedures in documentation, doing their own method instead
May be out of date / not updated to reflect system
May contain sensitive information
Pros and cons of interviews
Pros
Gather large amount of detailed info
Can make judgements on validity of information from personal contact or body language
Can ask follow up or open ended questions to gather more detailed information in selected areas
Cons
Time consuming and expensive
Has to be carried out by trained interviewer
Difficult to analyse large and variety of info
What is the purpose of a feasibility study
To decide whether a solution is possible or to decide whether the current system is worth replacing
Name 4 components of program maintenance documentation
Annotated listings
Algorithms
Data dictionary
List of sub routines
Compare alpha and beta testing
Alpha is conducted by a team of highly skilled developers / beta testing isbalwats conducted in real time
Alpha testing requires lab environment or testing environment / beta testing doesn’t require any lab environment or testing
Alpha testers are always highly skilled/ beta testers can be inexperienced
Alpha testing gives a better view of the reliability of the software at an early stage
Beta testing provides opportunity to give the software to end users prior to releasing it to the public
Compare alpha and beta testing
Alpha is conducted by a team of highly skilled developers / beta testing isbalwats conducted in real time
Alpha testing requires lab environment or testing environment / beta testing doesn’t require any lab environment or testing
Alpha testers are always highly skilled/ beta testers can be inexperienced
Alpha testing gives a better view of the reliability of the software at an early stage
Beta testing provides opportunity to give the software to end users prior to releasing it to the public