100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.6 TrustPilot
logo-home
Exam (elaborations)

INF3705 Assignment 2 (COMPLETE QUESTIONS & ANSWERS) 2024 - DUE 6 September 2024

Rating
-
Sold
1
Pages
10
Grade
A+
Uploaded on
26-06-2024
Written in
2023/2024

INF3705 Assignment 2 (COMPLETE QUESTIONS & ANSWERS) 2024 - DUE 6 September 2024 Question 1 [15 marks] Explain the difference between Development testing and Test-driven development. Question 2 [09 marks] What are the strategic options for legacy system evolution? When would you normally replace all or part of a system rather than continue maintenance of the software? Question3 [12 marks] Name six reasons why software dependability is important in most sociotechnical systems. Add an example to each reason. Question 4 [11 marks] Describe three (3) different types of fault-tolerance architectures. What is the common characteristic of all architectural styles that are geared to supporting software fault tolerance? Question 5 [15 marks] Discuss what safety engineering processes are and discuss (in detail) four (4) safety engineering processes. Question 6 [08 marks] Give four circumstances (plus examples) where you might recommend against software reuse. Question 7 [12 marks] List and explain the key stages in the process of system construction by composition. INF3705/202/1/2024 3 Question 8 [10 marks] Why is system evolution inherently costly? Question 09 [08 marks] If you are the Software Engineering Manager in your own organization, what four (4) Software Engineering concepts (plus the reason), taught to you in INF3705, will be the most important ones that you will expect from the different Software Engineering teams working for you.

Show more Read less
Institution
Module









Whoops! We can’t load your doc right now. Try again or contact support.

Written for

Institution
Module

Document information

Uploaded on
June 26, 2024
Number of pages
10
Written in
2023/2024
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

Content preview

INF3705 Assignment 2
Question 1 [15 marks] Explain the difference between Development
testing and Test-driven development.


Development Testing: Development testing refers to the process of testing software during its
development phase. It involves testing individual units or components of the software to ensure
they function correctly in isolation before integrating them into larger parts of the system. The
main goal of development testing is to identify defects early in the development lifecycle,
allowing developers to fix them before they propagate to later stages, thereby reducing the cost
and effort of fixing defects later on.

Test-Driven Development (TDD): Test-Driven Development is a software development process
where developers write automated test cases before writing the code to implement the desired
functionality. The TDD process typically follows these steps:

1. Write a Test: Developers first write a test case that defines the desired behavior of the
software.
2. Run the Test: Execute the test case, which should fail initially since the functionality
hasn't been implemented yet.
3. Write Code: Write the minimum amount of code necessary to pass the test.
4. Run All Tests: Execute all tests, including the new one, to ensure the new code didn't
break any existing functionality.
5. Refactor Code: Refactor the code to improve its design while ensuring all tests continue
to pass.

Key differences:

● Focus: Development testing focuses on verifying individual components or units, while
TDD focuses on writing tests that specify the desired behavior of the software.
● Timing: Development testing occurs after the code is written, while TDD requires tests
to be written before the code is implemented.
● Approach: Development testing is reactive, aiming to find and fix defects, while TDD is
proactive, aiming to prevent defects by ensuring that code meets specified requirements
from the outset.

In summary, development testing and Test-Driven Development differ in their timing, focus, and
approach to ensuring software quality during the development process.

, Question 2 [09 marks] What are the strategic options for legacy system
evolution? When would you normally replace all or part of a system rather
than continue maintenance of the software?


Strategic Options for Legacy System Evolution:

1. Reengineering (or Re-architecting): This involves restructuring or rewriting the existing
system to improve its maintainability, performance, or alignment with current business
needs. It may involve adopting new technologies or architectures while preserving
existing functionality.
2. Componentization: Breaking down the monolithic legacy system into modular
components, which can be individually updated, replaced, or enhanced without affecting
the entire system. This approach improves flexibility and facilitates incremental
upgrades.
3. Integration: Enhancing the legacy system by integrating it with newer systems or
services, leveraging modern APIs or middleware to extend functionality or enhance
interoperability.
4. Migration: Gradually moving the functionality of the legacy system to a new platform or
technology stack, often through phases, to minimize disruption and risk.
5. Maintenance and Support: Continuously maintaining and supporting the existing
system to ensure it remains operational and secure, while addressing critical issues and
occasional enhancements.

When to Replace All or Part of a System:

The decision to replace part or all of a system rather than continuing maintenance depends on
several factors:

1. Technological Obsolescence: When the existing technology stack or platform is no
longer supported or viable for future development.
2. Performance Issues: If the system's performance significantly degrades, impacting user
experience or business operations.
3. Scalability and Flexibility: When the current system cannot scale to meet increasing
demands or lacks flexibility to adapt to new business requirements.
4. Cost of Maintenance: If the cost of maintaining and supporting the system outweighs
the benefits derived from its functionality.
5. Strategic Alignment: If the system does not align with the organization's long-term
strategic goals or inhibits innovation and growth.
6. Security Concerns: When the system poses security risks due to outdated technologies
or lack of support for security patches.

In summary, the decision to replace all or part of a legacy system involves weighing technical,
operational, financial, and strategic factors to ensure that the chosen approach supports the
organization's objectives effectively.

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
wahabali Teachme2-tutor
Follow You need to be logged in order to follow users or courses
Sold
160
Member since
2 year
Number of followers
147
Documents
106
Last sold
6 months ago
Unisa Expert

Welcome to UNISA Expert, your go-to source for top-notch academic resources tailored specifically for UNISA students. Our mission is to help you succeed in your academic journey by providing a wide range of study materials that cater to your specific needs. Our Offerings: Assignments: Well-structured and meticulously solved assignments for various modules, ensuring you understand the core concepts and excel in your coursework. Study Notes: Comprehensive and concise study notes that simplify complex topics and make learning more manageable and efficient. Class Notes: Detailed notes from lectures and classes that highlight essential points and provide a solid foundation for your studies. Practice Materials: A variety of practice materials, including past exam papers, quizzes, and practice questions to help you test your knowledge and prepare thoroughly for your exams. Featured Modules: CMY2601: Chemistry II TMS3721: Technology Management III TMN3702: Technology Management II IOP4862: Industrial and Organizational Psychology IV TMS3723: Technology Management III BTE2601: Business Management II ...and many more! Why Choose UNISA Expert? Quality and Accuracy: Each document is carefully prepared and reviewed to ensure accuracy and high quality. Ease of Understanding: Our materials are designed to be easy to understand, helping you grasp even the most challenging concepts. Comprehensive Coverage: We cover a wide range of modules and topics, ensuring you find the materials you need for your studies. Affordable Prices: We offer our resources at competitive prices, making quality academic support accessible to all students. At UNISA Expert, we are committed to supporting your academic success. Explore our store and discover the resources that will help you achieve your academic goals. Whether you're looking for detailed study notes, assignment assistance, or practice materials, we've got you covered.

Read more Read less
3.8

11 reviews

5
4
4
4
3
1
2
1
1
1

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their exams and reviewed by others who've used these revision notes.

Didn't get what you expected? Choose another document

No problem! You can straightaway pick a different document that better suits what you're after.

Pay as you like, start learning straight away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and smashed it. It really can be that simple.”

Alisha Student

Frequently asked questions