Software Engineering 2
Software Engineering II covers a range of advanced topics in software engineering. The first part of the module focuses on software quality. It covers several key quality related issues, including software reliability, dependability, safety and security. The module also builds on the topic of risk management and mitigation previously introduced in Software Engineering I. The second part of the module focuses on several key topics in modern software engineering, including component-based software development, distributed systems engineering, service-oriented software engineering, and software documentation. At the end of the module, students will be able to understand the broader landscape of the discipline of software engineering, and be able to apply advanced techniques and theory to their software development activity.
Security | The ability of the system to protect itself against accidental or deliberate intrusion. | |
Software Engineering | is concerned with theories, methods and tools for professional software development | |
The correct answers are: needs, experience, capabilities | Three aspects of the system users that UI design must take into account. (select 3 answers) | |
Quality | means that a product should meet its specification | |
Computer Science | It is concerned with theory and fundamentals of software development. | |
FALSE | System users often judge a system by its functionality rather than its interface. | |
Software process | This is a set of activities whose goal is the development or evolution of software. | |
Quality assurance | Establish organizational procedures and standards for quality | |
TRUE | Improper user interface design is the reason why so many software systems are never used. | |
Evolution | This is the process changing the software in response to changing demands | |
Quality control | Ensure that procedures and standards are followed by the software development team | |
FALSE | Usefulness and trustworthiness of a computer system are the same thing. | |
TRUE | The faulty system state may be transient and ‘corrected’ before an error arises. | |
The correct answers are: Specification, Development, Validation, Evolution | These are generic activities involved in all software processes: (select all that applies) | |
Human error | Human behavior that results in the introduction of faults into a system. | |
Survivability | The ability of a system to continue to deliver its services to users in the face of deliberate or accidental attack. | |
Software Engineering | This expenditure represents a significant fraction of GNP in all developed countries. | |
Development | It deals with production of the software system itself. | |
Quality planning | Select applicable procedures and standards for a particular project and modify these as required | |
Direct Manipulation | It is a form of Interaction style is ideal for video games. | |
Specification, Development, Validation, Evolution | These are generic activities involved in all software processes: (select all that applies) | |
System failure | System state that are a usually a result of system errors that are derived from faults in the system. | |
FALSE | The error can not be corrected by built-in error detection and recovery. | |
TRUE | Dependability costs tend to increase exponentially as increasing levels of dependability are required. | |
Dependability | The extent to which a critical system is trusted by its users. | |
Generic | These are software products developed to be sold to a range of different customers. | |
FALSE | For systems with a short life, maintenance costs may be several times development costs. | |
Improvement identification | Identify quality, cost or schedule bottlenecks | |
System failure | An event that occurs at some point in time when the system does not deliver a service as expected by its users. | |
TRUE | A poorly designed interface can cause a user to make catastrophic errors. | |
TRUE | The failure can be avoided by built-in protection facilities. | |
Safety | The ability of the system to operate without catastrophic failure. | |
Customized, Bespoke | These are developed software for a single customer according to their specification (select all that applies) | |
Software Engineers | They are I.T. practitioners who adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available. | |
Process change introduction | Modify the process to remove identified bottlenecks | |
Availability | The ability of the system to deliver services when requested. | |
TRUE | Dependability costs tend to increase exponentially as increasing levels of dependability are required. | |
recoverability | It is a UI design principle that allows user to recover from errors. | |
Software Engineer | It is focused on cost effective software development. | |
TRUE | Because of very high costs of dependability achievement, it may be more cost effective to accept untrustworthy systems and pay for failure costs. | |
None among the choices | Some of the components of User interface design process. (select all that applies) | |
The correct answer i | The use of more expensive development techniques and hardware that are required to achieve the higher levels of dependability decreases the cost of dependability of software. | |
Reliability | The probability of failure-free system operation over a specified time in a given environment for a given purpose. | |
TRUE | Designers should be aware of people’s physical and mental limitations. | |
Technical cost | This factor often dominates system costs in a system development | |
Survivability | It subsumes the notion of resilience - the ability of a system to continue in operation in spite of component failures. | |
Change tuning | Evolve and improve process improvements | |
Specification | Part of the generic activity of software development which checks what the system should do and its development constraints. | |
Software Engineering | It is concerned with theories, methods and tools for professional software development | |
Process change training | Train staff involved in new process proposals | |
FALSE | The use of more expensive development techniques and hardware that are required to achieve the higher levels of dependability decreases the cost of dependability of software. | |
Reliability | The ability of the system to deliver services as specified. | |
System error | Erroneous system behavior where the behavior of the system does not conform to its specification. | |
Software Engineering | It is focused on cost effective software development. | |
Validation | The process of checking that the software is what the customer wants. | |
System fault | An incorrect system state i .e . a system state that is unexpected by the designers of the system. | |
FALSE | The increased testing and system validation that is required to convince the system client that the required levels of dependability have been achieved decreases the cost of dependability of software | |
ISO 9000 | International set of standards for quality management. | |
Maintainability | A system attribute which is concerned with the ease of repairing the system after a failure has been discovered or changing the system to include new features. | |
Availability | The probability that a system, at a point in time, will be operational and able to deliver the requested services. | |
Survivability | This is an increasingly important attribute for distributed systems whose security can be compromised. | |
level 2 | Organizations rated as ______ in the CMM are likely to be ISO 9000 compliant | |
User-centered design | It is an approach to UI design where the needs of the user are paramount and where the user is involved in the design process. | |
TRUE | Errors do not necessarily lead to system failures. | |
User diversity | It is a UI design principle that provides appropriate interaction facilities for different types of system user. | |
The correct answers are: Customized, Bespoke | These are developed software for a single customer according to their specification (select all that applies) | |
Dependability | It reflects the extent of the user’s confidence that it will operate as users expect and that it will not ‘fail’ in normal use. | |
Process analysis | Model and analyze (quantitatively if possible) existing processes | |
Software cost | This factor often dominates system costs in a system development |