LATEST INF3705 Assignment 1 2024 with textbook references
Apart from the challenges of heterogeneity, business and social change and trust and security, identify six (6) other problems and challenges that software engineering is likely to face in the 21st century (hint: think about the environment) (add an example to each). Answer 1 Problems and challenges for software engineering There are many possible challenges that could be identified. (Maksimum of 12 marks) These include: 1. Developing systems that are energy-efficient. This makes them more usable on low power mobile devices and helps reduce the overall carbon footprint of IT equipment. √√ 2. Developing validation techniques for simulation systems (which will be essential in predicting the extent and planning for climate change). √√ 3. Developing systems for multicultural use. √√ 4. Developing systems that can be adapted quickly to new business needs. √√ 5. Designing systems for outsourced development. √√ 6. Developing systems that are resistant to attack. √√ 7. Developing systems that can be adapted and configured by end-users. √√ 8. Finding ways of testing, validating and maintaining end-user developed systems. √√ Question 2 [06 marks] Explain what is “developing the user requirements” and “developing system requirements” and why it is important to make a distinction between “developing the user requirements” and “developing system requirements” in the requirements engineering process. Answer 2 There is a fundamental difference between the user and the system requirements that mean they should be considered separately. 1. The user requirements are intended to describe the system’s functions and features from a user perspective and it is essential that users understand these requirements. They should be expressed in natural language and may not be expressed in great detail, to allow some implementation flexibility. The people involved in the process must be able to understand the user’s environment and application domain. √√√ 2. The system requirements are much more detailed than the user requirements and are intended to be a precise specification of the system that may be part of a system contract. They may also be used in situations where development is outsourced and the development team need a complete specification of what should be developed. The system requirements are developed after user requirements have been established. √√√ lOMoAR cPSD| INF3705/201/2/2019 3 Downloaded by ERICK MURIMI () Question 3 [09 marks] It has been suggested that one of the problems of having a user closely involved with a software development team is that they adopt the outlook of the development team and lose sight of the needs of their user colleagues. Suggest three ways how you might avoid this problem and discuss the advantages and disadvantages of each approach. Answer 3 1. Involve multiple users in the development team. √ Advantages are you get multiple perspectives on the problem, better coverage of user tasks and hence requirements and less likelihood of having an atypical user. √ Disadvantages are cost, difficulties of getting user engagement and possible user conflicts. √ 2. Change the user who is involved with the team. √ Advantages are, again, multiple perspectives. √ Disadvantages are each user takes time to be productive and possible conflicting requirements from different users. √ 3. Validate user suggestions with other user representatives. √ Advantages are independent check on suggestions. √ Disadvantage is that this slows down the development process as it takes time to do the checks. √ Question 4 [30 marks] Using your knowledge of how an ATM is used, develop the following use cases that could serve as a basis for understanding the requirements for an ATM system. (a) display balance; (b) print statement; (c) change pin; (d) deposit cash. Example: Withdraw cash use case Withdraw cash: Actors: Customer, ATM, Accounting system Inputs: Customer’s card, PIN, Bank Account details Outputs: Customer’s card, Receipt, Bank account details Normal operation: The customer inputs his/her card into the machine. He/she s promoted for a PIN which is entered on the keypad. If correct, he/she is presented with a menu of options. The Withdraw cash option is selected. The customer is promoted with a request for the amount of cash required and inputs the amount. If there are sufficient funds in his/her account, the cash is dispensed, a receipt if printed and the account balance is updated. Before the cash is dispensed, the card is returned to the customer who is prompted by the machine to take their card. Exception: Invalid card. Card is retained by machine; Customer advised to seek advice. Incorrect PIN: Customer is request to rekey PIN. If incorrect after 3 attempts, card is retained by machine and customer advised to seek advice. Insufficient balance: Transaction terminated. Card returned to customer. Answer 4 Display balance: Actors: Customer, ATM, Accounting system √
Written for
- Institution
- INF3705
- Module
- INF3705
Document information
- Uploaded on
- February 20, 2024
- Number of pages
- 8
- Written in
- 2023/2024
- Type
- Exam (elaborations)
- Contains
- Questions & answers
Subjects
-
inf3705 assignment 1 2023
-
questions
-
answers
-
inf3705 assignment 1 2023 with textbook references