16 System life cycle (3)
Resources |
Revision Questions |
Information Technology IT
Login to see all questions
Click on a question to view the answer
1.
Explain the importance of testing in the system life cycle. Describe at least three different types of testing and the purpose of each. Consider both functional and non-functional testing.
Testing is a critical phase in the system life cycle to ensure the developed system meets the specified requirements and functions correctly. It helps identify defects, improve quality, and reduce the risk of errors in the deployed system. Here are three types of testing:
- Unit Testing: Testing individual components or modules of the system in isolation. The purpose is to verify that each unit of code works as expected. Typically performed by developers.
- Integration Testing: Testing the interaction between different components or modules of the system. The purpose is to ensure that the components work together correctly and data is passed between them as expected.
- User Acceptance Testing (UAT): Testing performed by end-users to verify that the system meets their needs and is fit for purpose. The purpose is to gain confidence that the system is ready for deployment.
Functional testing focuses on verifying that the system performs its intended functions correctly (e.g., processing transactions, generating reports). Non-functional testing focuses on aspects like performance, security, usability, and reliability. Examples of non-functional testing include performance testing, security testing, and usability testing.
2.
Describe the evolutionary and throwaway prototyping types. For each type, explain their key characteristics, advantages, and disadvantages. Provide a real-world example of where each type of prototyping might be most effectively used.
Evolutionary Prototyping:
Characteristics: Evolutionary prototyping involves building a system incrementally, adding features and refining the design over time. It starts with a basic, functional version and gradually evolves into the final product. User feedback is incorporated at each stage of development.
Advantages:
- Early user feedback helps identify usability issues early in the development process.
- Reduces the risk of building a completely incorrect product.
- Allows for gradual refinement and adaptation to changing requirements.
Disadvantages:
- Can lead to scope creep if requirements are not well-defined.
- May result in a final product that is not as well-designed as a throwaway prototype.
- Can be time-consuming if changes are frequent.
Real-world Example: Developing a new e-commerce website. A basic version with core product browsing and purchasing functionality is launched. Based on user feedback (e.g., analytics, user testing), additional features like personalized recommendations, wishlists, and enhanced search are added iteratively.
Throwaway Prototyping:
Characteristics: Throwaway prototyping is a rapid prototyping technique where a prototype is built, tested, and then discarded. The focus is on exploring different design concepts and gathering user feedback. The prototype is not intended to be part of the final product.
Advantages:
- Allows for rapid exploration of different design options.
- Can be a cost-effective way to gather user feedback.
- Reduces the risk of investing time and resources in a flawed design.
Disadvantages:
- Can be time-consuming if many prototypes are required.
- May not accurately reflect the complexity of the final product.
- Requires careful planning to ensure that the prototype is effective in gathering user feedback.
Real-world Example: Designing a new user interface for a mobile app. Several different UI concepts are quickly prototyped and tested with users. The most promising concept is then selected and refined for the final product. The prototypes themselves are not integrated into the final app.
3.
Question 1: A local school's network experienced frequent disruptions due to software bugs and security vulnerabilities. The IT department quickly patched these issues to restore normal operations. Identify the type of maintenance performed and explain why it was necessary.
Answer: The maintenance type performed is corrective maintenance.
Corrective maintenance is performed to fix faults and restore a system to its normal operating condition. In this scenario, the software bugs and security vulnerabilities caused disruptions, meaning the system was not functioning as intended. The IT department's actions of patching these issues directly addressed the faults and restored normal operations.
Key characteristics of corrective maintenance include:
- Addressing unexpected problems
- Often reactive - responding to issues as they arise
- Can be time-sensitive to minimize disruption