1.1.1 Identify the context for which a new system is planned.
System Life Cycle
Software Life Cycle
A new system is generally made to replace and older system that is inefficient, outdated, redundant or no longer serves its intended purpose.
The purpose of the new system can be to increase productivity or quality or even to minimize costs.
The new system should reduce or remove the errors/flaws of the existing one.
How feasible is the new system?
- T – Technical – Is the project technically possible?
- E – Economic – Can the project be afforded? Will it increase profit?
- L – Legal – Is the project legal?
- O – Operational – How will the current operations support the change?
- S – Scheduling – Can the project be done in time?
1.1.2 Describe the need for change management
Change management involves the change within organization with the general goal of maximizing benefits and minimizing negative impact. (especially the change on individuals)
People can often feel uncomfortable with change management as they may feel that their jobs are at risk. Unfortunately in some cases these does become true.
1.1.3 Outline compatibility issues resulting from situations including legacy systems or business mergers.
An old technology, hardware, computer system or application
Just because it is old it does not mean it does not play an important role in an organization. It might be that its data cannot be converted to newer formats.
Even NASA use legacy systems ! (what they need does the job and so there is no need to change it)
It is clear that even with today’s technology combining legacy systems and newer systems can still be a big issue.
Business Merger – The combining of more than one entity (in this case Business)
This Is mainly done to reduce costs but……..
Will the data & software from both systems will be compatible ?
Will timezone / language differences be an issue?
Will workforce cultural differences pose a problem?
1.1.4 Compare the implementation of systems using a client’s hardware with hosting systems
Distributing Software can be pretty much done in two ways
Installing a program on a computer or set of computers is known as Local or On-Premise
Installing software on a server somewhere and using other systems to connect to it via a browser or application is called Remote
SaaS – Software as a service
Software is hosted and managed from a central data centre
Resides on the cloud so a broadband connection and a web browser is required
Users pay a subscription fee to access services
How does SaaS benefit its clients?
Low start up costs for the user as it does not require large sums of money for installation, maintenance and upgrading.
Only have to pay for the subscription required and offer “scalable solutions” where clients can adjust their subscription based on what is required.
SaaS is supported within a wide range of devices (mobile, desktop)
Few IT personnel are required as all updates are managed away from the business location.
The drawbacks of Saas
If the SaaS company goes out of business data could be inaccessible and result in data loss
As the system requires an internet connection this could result in slow response times or no connection at all
Integrating other Software into the system may be difficult
Local or “On Premise” Software
Unlike the SaaS on premise software will be installed, upgraded and maintained within the organization rather than at a remote facility.
This means higher initial costs however could save in the long run as the organization would not have to pay a subscription fee to maintain the system.
The service would remain in house and so is not operational based on whether or not the internet is available.
This can prove costly when making upgrades, maintaining etc as hardware such as network & backup equipment will have to be factored.
1.1.5 Evaluate alternative installation processes
Installing a new system is pretty much something that every business or organization will encounter at some point.
This is the point where the old system is retired and the new system takes its place
This then poses one big question……. How do we implement the new conversion/changeover method?
Direct – The old system is stopped and the new system is started
- New System is available immediately
- Minimal time and effort
- If the new system fails there is no backup
The new system is run alongside the new system and data is input into both systems
- If the new system fails the old one acts as a backup
- The outputs from the new and old systems can be compared to determine If the new system is running correctly.
- Running of the two systems is costly in terms of time and money.
The new system is piloted (trialed) in a small part of the business. Once it is running correctly the new system is then implemented across the organization.
- All features can be fully trialed
- If the system fails it only affects a small part of the organization.
- Staff who were part of the pilot can be used to train other staff.
- For the section that is being piloted there is no backup
The new system is introduced in phases as parts of the old system are gradually replaced with the new system.
- Allows other people to get used to the new system
- Training can be done in stages
- If the new part of the system fails there is no back up for that part of the area..
1.1.6 Discuss problems that may arise as a part of data migration
Data migration refers to the transfer of data between different formats, storage types and computer systems.
This process is normally done automatically by computers as the amount of data that needs to be moved in most cases is far to big for human resources
- Possible problems include uIncompatible file formats
- Data structure differences
- Validation rules
- Incomplete data transfers
- International conventions on dates,
- currencies & character sets
1.1.7 Suggest various types of testing
Testing is very important in developing a computerized system, as it tries to ensure that the system works as expected.
A system that does not work as expected (it is buggy) greatly reduces productivity and end user satisfaction.
- Normal data – entering standard data into the system (example in a number system from 1 to 100 add numbers 35, 76,45)
- Data at the limits – would involve add the numbers 0,1,99,100
- Extreme Data – Would be adding data outside of the limits -35, 105, 1160 -456
- Abnormal Data – This would involves adding something completely unexpected and our of character for example adding the word “Hello” to the 1 to 100 numbering system
- Alpha testing – Alpha testing is done before the software product is made available to the general public. Normally, Alpha testing will be carried out by the company that develops the software in a laboratory type environment and not by the end users in their usual workplaces.
- Beta Testing – Beta testing includes comments and suggestions of the users. Unlike Alpha testing, users outside the company are involved in the testing. In some cases, the Beta version will be made available to the general public. This can provide vital real-world information and feedback.
- Dry run testing – Dry-run testing is conducted using pen and paper by the programmer. During dry run testing the programmer mentally runs the algorithm.
- Debugging – Debugging is a systematic process of finding and correcting the number of bugs (errors) in a computer program.
Validation and verification in relation to data input:
- Validation is the process of evaluating whether data input follows appropriate specifications and is within reasonable limits.
- Verification is the process of ensuring that the data input is the same as the original source data. A way of ensuring data verification is through double entry.
Verification and validation in software testing:
- Verification is the confirmation that a computer product meets identified specifications, while validation is the confirmation that a computer product meets its design function or is appropriate for its intended use.
Validation :Are we developing the correct system?
Verification: Are we developing the system correctly ?
Validation: Does the product meet the customers needs ?
Verification: Does the product comply with a specific regulation or condition?