Software Engineering 2

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.




SecurityThe ability of the system to protect itself against accidental or deliberate intrusion.
Software Engineeringis concerned with theories, methods and tools for professional software development
The correct answers are: needs, experience, capabilitiesThree aspects of the system users that UI design must take into account. (select 3 answers)
Qualitymeans that a product should meet its specification
Computer ScienceIt is concerned with theory and fundamentals of software development.
FALSESystem users often judge a system by its functionality rather than its interface.
Software processThis is a set of activities whose goal is the development or evolution of software.
Quality assuranceEstablish organizational procedures and standards for quality
TRUEImproper user interface design is the reason why so many software systems are never used.
EvolutionThis is the process changing the software in response to changing demands
Quality controlEnsure that procedures and standards are followed by the software development team
FALSEUsefulness and trustworthiness of a computer system are the same thing.
TRUEThe faulty system state may be transient and ‘corrected’ before an error arises.
The correct answers are: Specification, Development, Validation, EvolutionThese are generic activities involved in all software processes: (select all that applies)
Human errorHuman behavior that results in the introduction of faults into a system.
SurvivabilityThe ability of a system to continue to deliver its services to users in the face of deliberate or accidental attack.
Software EngineeringThis expenditure represents a significant fraction of GNP in all developed countries.
DevelopmentIt deals with production of the software system itself.
Quality planningSelect applicable procedures and standards for a particular project and modify these as required
Direct ManipulationIt 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 failureSystem state that are a usually a result of system errors that are derived from faults in the system.
FALSEThe error can not be corrected by built-in error detection and recovery.
TRUEDependability costs tend to increase exponentially as increasing levels of dependability are required.
DependabilityThe extent to which a critical system is trusted by its users.
GenericThese are software products developed to be sold to a range of different customers.
FALSEFor systems with a short life, maintenance costs may be several times development costs.
Improvement identificationIdentify quality, cost or schedule bottlenecks
System failureAn event that occurs at some point in time when the system does not deliver a service as expected by its users.
TRUEA poorly designed interface can cause a user to make catastrophic errors.
TRUEThe failure can be avoided by built-in protection facilities.
SafetyThe 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 EngineersThey 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 introductionModify the process to remove identified bottlenecks
AvailabilityThe ability of the system to deliver services when requested.
TRUEDependability costs tend to increase exponentially as increasing levels of dependability are required.
recoverabilityIt is a UI design principle that allows user to recover from errors.
Software EngineerIt is focused on cost effective software development.
TRUEBecause 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 choicesSome of the components of User interface design process. (select all that applies)
The correct answer iThe 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.
ReliabilityThe probability of failure-free system operation over a specified time in a given environment for a given purpose.
TRUEDesigners should be aware of people’s physical and mental limitations.
Technical costThis factor often dominates system costs in a system development
SurvivabilityIt subsumes the notion of resilience - the ability of a system to continue in operation in spite of component failures.
Change tuningEvolve and improve process improvements
SpecificationPart of the generic activity of software development which checks what the system should do and its development constraints.
Software EngineeringIt is concerned with theories, methods and tools for professional software development
Process change trainingTrain staff involved in new process proposals
FALSEThe 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.
ReliabilityThe ability of the system to deliver services as specified.
System errorErroneous system behavior where the behavior of the system does not conform to its specification.
Software EngineeringIt is focused on cost effective software development.
ValidationThe process of checking that the software is what the customer wants.
System faultAn incorrect system state i .e . a system state that is unexpected by the designers of the system.
FALSEThe 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 9000International set of standards for quality management.
MaintainabilityA 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.
AvailabilityThe probability that a system, at a point in time, will be operational and able to deliver the requested services.
SurvivabilityThis is an increasingly important attribute for distributed systems whose security can be compromised.
level 2Organizations rated as ______ in the CMM are likely to be ISO 9000 compliant
User-centered designIt is an approach to UI design where the needs of the user are paramount and where the user is involved in the design process.
TRUEErrors do not necessarily lead to system failures.
User diversityIt is a UI design principle that provides appropriate interaction facilities for different types of system user.
The correct answers are: Customized, BespokeThese are developed software for a single customer according to their specification (select all that applies)
DependabilityIt 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 analysisModel and analyze (quantitatively if possible) existing processes
Software costThis factor often dominates system costs in a system development