INF3705 EXAM PACK
INF3705 EXActivity 1.3 As an information system developer, explain the following process activities to your co-workers: specification, development, validation and evolution Specification: Software specification or requirements engineering is the process of understanding and defining what services are required from the system and identifying the constraints on the system’s operation and development. Development: The implementation stage of software development is the process of converting a system specification into an executable system. Validation: Verification and validation (V&V) is intended to show that a system both conforms to its specification and that it meets the expectations of the system customer. Evolution: Software is inherently flexible and can change. As requirements change through changing business circumstances, the software that supports the business must also evolve and change. The principles of agile methods include the following: Principle Customer involvement. Incremental delivery. People not process. Maintain simplicity. 2.2.2 What are the differences between functional and non-functional software requirements? Functional requirements – Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations – May state what the system should not do Non-functional requirements – Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, and so forth – Often apply to the system as a whole rather than individual features or services Domain requirements – Constraints on the system from the domain of operation Example of Functional requirements for the MHc-PMS A user shall be able to search the appointment lists for all clinics. The system shall generate each day, for each clinic, a list of patients who are expected to attend appointments on the specific day. Each staff member using the system shall be uniquely identified by his or her 8-digit employee number. Page 1 of 45 Metrics for specifying non-functional requirements Property Measure Speed Processed transactions/second User/event response time Screen refresh time Size Mbytes Number of ROM chips Ease of use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Portability Percentage of target dependent statements Number of target systems Development testing Development testing includes all testing activities that are carried out by the team developing the system. Unit testing– where individual program units or object classes are tested. Unit testing should focus on testing the functionality of objects or methods. Component testing – where several individual units are integrated to create composite components. Component testing should focus on testing component interfaces. System testing – where some or all of the components in a system are integrated and the system is tested as a whole. System testing should focus on testing component interactions. Importance of dependability System failures may have widespread effects with large numbers of people affected by the failure. Systems that are not dependable and are unreliable, unsafe or insecure may be rejected by their users. The costs of system failure may be very high if the failure leads to economic losses or physical damage. Undependable systems may cause information loss with a high consequent recovery cost. Page 2 of 45 End of chapter review questions Chapter 1 1. What is the most important difference between generic software product development and custom software development? What might this mean in practice for users of generic software products? Answer: The essential difference is that in generic software product development, the specification is owned by the product developer. For custom product development, the specification is owned and controlled by the customer. The implications of this are significant – the developer can quickly decide to change the specification in response to some external change (e.g. a competing product) but, when the customer owns the specification, changes have to be negotiated between the customer and the developer and may have contractual implications. For users of generic products, this means they have no control over the software specification so cannot control the evolution of the product. The developer may decide to include/exclude features and change the user interface. This could have implications for the user’s business processes and add extra training costs when new versions of the system are installed. It also may limit the customer’s flexibility to change their own business processes. 2. Based on your own knowledge of some of the application types discussed, explain, with examples, why different application types require specialized software engineering techniques to support their design and development. Answer: Different application types require the use of different development techniques for a number of reasons: 1. Costs and frequency of change. Some systems (such as embedded systems in consumer devices) are extremely expensive to change; others must change frequently in response to changing requirements (e.g. business systems). Systems which are very expensive to change need extensive upfront analysis to ensure that the requirements are consistent and extensive validation to ensure that the system meets its specification. This is not cost effective for systems that change very rapidly. 2. The most important ‘non-functional’ requirements. Different systems have different priorities for non-functional requirements. For example, a real-time control system in an aircraft has safety as its principal priority; an interactive game has AM PACK
Geschreven voor
- Instelling
- University of South Africa
- Vak
- INF3705 - Advanced Systems Development
Documentinformatie
- Geüpload op
- 15 november 2021
- Aantal pagina's
- 45
- Geschreven in
- 2021/2022
- Type
- Tentamen (uitwerkingen)
- Bevat
- Vragen en antwoorden
Onderwerpen
-
inf
-
3705