zero.nul
Quiz by , created more than 1 year ago

Quiz on Exam 2, created by zero.nul on 06/11/2014.

212
0
0
No tags specified
zero.nul
Created by zero.nul over 9 years ago
Close

Exam 2

Question 1 of 40

1

What are the shared characteristics of different approaches to rapid software development?

Select one or more of the following:

  • User interfaces face heavy scrutiny by human factors engineering teams.

  • Specification, design, and implementation are independent processes.

  • The system is developed and delivered as a unified code base.

  • The system is developed and delivered as a series of versions.

  • "The processes of specification, design, and implementation are inter-leaved."

  • User interfaces are often developed using an interactive development system that supports rapid UI development.

Explanation

Question 2 of 40

1

What are the two fundamental types of software product?

Select one or more of the following:

  • Customised products designed to meet the specific needs of a single customer.

  • Industrial products that are designed to meet the needs of only industrial businesses.

  • Standards based products that are designed to meet the needs of ISO registered companies.

  • Generic products that are designed to meet the needs of many different customers.

  • Networked products that are designed to meet the needs of collaborative groups.

Explanation

Question 3 of 40

1

What are the 4 sectors in each loop in Boehm's spiral model?

Select one or more of the following:

  • Prototyping

  • Development and validation

  • Planning

  • Risk assessment and reduction

  • Development

  • Review

  • Design

  • Objective setting

Explanation

Question 4 of 40

1

What are the types of abstract system model that are recommended by the MDA method?

Select one or more of the following:

  • Computation-independent model

  • UML model

  • One or more platform-specific models

  • Platform-specific model

  • Platform-independent model

  • Computation-specific model

  • Engineering-driven model

  • Event-driven model

  • Computer-generated model

Explanation

Question 5 of 40

1

What are the principal functions of the 4 layers in a generic information system architecture?

Select one or more of the following:

  • "User communications, authentication, and authorization"

  • Application logic

  • Web browser interface

  • User interface

  • Forms and query manager

  • Database and transaction management

  • I/O Processing

  • Report Generator

  • Information retrieval and modification

Explanation

Question 6 of 40

1

What are the advantage of explicitly designing and documenting a software architecture?

Select one or more of the following:

  • It helps with large-scale reuse

  • It reduces the cost of the system

  • "It boosts performance, robustness, distributability, and maintainability"

  • It improves stakeholder communications

  • It encourages a detailed analysis of the system

  • It eliminates safety risks

Explanation

Question 7 of 40

1

Which answer/s describe/s the pipe and filter architecture?

Select one or more of the following:

  • Clients make service requests to the proper server

  • The system is organized into layers with related functionality associated with each layer

  • A system is decomposed into a set of functional transformations that consume inputs and produce outputs

  • Components do not interact directly, only through the repository

  • The functionality of the system is organized into services

  • Data flows from one function to another and is transformed as it passes through the sequence

  • All shared data is held in a central database that can be accessed by all sub-systems

  • A layer provides services to the layer above it

Explanation

Question 8 of 40

1

List the fundamental questions that should be addressed in architectural design?

Select one or more of the following:

  • What control strategy should be used?

  • What architectural style or styles are appropriate?

  • Is there a generic application architecture that can be used?

  • How will the system be distributed?

  • How should the system be structured?

Explanation

Question 9 of 40

1

What are the most important advantages of a client-server architecture?

Select one or more of the following:

  • It is easy to add a new server or upgrade existing servers without disrupting the system

  • This is a distributed architecture so that it is possible to provide services on different computers

  • Can be implemented as either a sequential or concurrent system

  • Allows replacement of entire layers so long as the interface is maintained.

  • Changes made by one component can be propagated to all components

  • Redundant facilities can be provided in each layer to increase the dependability of the system

  • Components can be independent - they don't need to know about each other

  • Workflow style matches the structure of many business processes

Explanation

Question 10 of 40

1

What are the fundamental architectural views proposed in Krutchen's 4+1 model?

Select one or more of the following:

  • A maintenance view that estimates the ratio of software development versus maintenance

  • A logical view that shows the key abstractions of the system

  • A physical view that shows the distribution of software on the system hardware

  • A connections view that shows how the hardware is going to interact

  • A development view that shows how the system is decomposed for development

  • A code view that shows how algorithms should be written

  • A process view that shows the interacting processes in the system

  • A language view that determines which software languages are appropriate for the system

Explanation

Question 11 of 40

1

What are some fundamental characteristics of a repository architecture?

Select one or more of the following:

  • All shared data is held in a central database that can be accessed by all sub-systems

  • The functionality of the system is organized into services

  • Data processing is organized so that each component is discrete and only performs one type of data transformation

  • Clients make service requests to the proper server

  • A layer provides services to the layer above it

  • The data flows from one component to another for processing

  • The system is organized into layers with related functionality associated with each layer

  • "Components do not interact directly, only through the repository"

Explanation

Question 12 of 40

1

What do architectural patterns comprise?

Select one or more of the following:

  • Description of strengths and weaknesses

  • How the pattern should be deployed across multi-core machines

  • Code listings of database transaction statements

  • A stylized abstract description of good practice in architectural design that has been tried and tested in different systems and environments

  • Comparisons with other patterns

  • Information on when it is and is not appropriate to use that architectural design.

Explanation

Question 13 of 40

1

What are some ways in which an architectural model of a system should be used?

Select one or more of the following:

  • To document the architecture of an existing or an intended system

  • To ambiguate system requirements

  • To facilitate discussion about the most appropriate architecture for a system

  • To avoid writing code

Explanation

Question 14 of 40

1

What are transaction-processing applications?

Select one or more of the following:

  • Allows controlled access to a large base of information

  • Translators of natural or artificial language into another representation

  • They are organized so that transactions cannot interfere with each other and the integrity of the database is maintained

  • Database-centered applications that process user requests for information and update the information in the database

  • Usually web based systems that are accessed through a web browser

Explanation

Question 15 of 40

1

What are some use-case characteristics?

Select one or more of the following:

  • It shows the actors involved with an interaction.

  • It shows the interactions between system components as well as actors.

  • It shows how the system reacts to internal and external events.

  • It identifies a typical interaction with a system.

Explanation

Question 16 of 40

1

What are the principal stages of the requirements engineering process?

Select one or more of the following:

  • Requirements validation

  • Requirements review

  • Requirements testing

  • Requirements specification

  • Requirements elicitation and analysis

  • Requirement baselining

Explanation

Question 17 of 40

1

What checks should be applied during requirements validation?

Select one or more of the following:

  • Completeness checks

  • The verifiability of the requirements should be assessed

  • Consistency checks

  • Realism checks

  • User competency checks

  • Noise floor checks

  • Validity checks

Explanation

Question 18 of 40

1

Why is it difficult to elicit requirements?

Select one or more of the following:

  • Stakeholders don't know what they want

  • The business environment may change during elicitation

  • Stakeholders use their own language that requirements engineers may not understand.

  • Stakeholder requirements may conflict

  • Political factors may influence the system requirements

Explanation

Question 19 of 40

1

What should be included in a scenario?

Select one or more of the following:

  • A description of the system state when the scenario finishes

  • A description of the normal flow of events

  • A description of what can go wrong and how to handle it

  • Information about concurrent activities

  • A description of what's expected when the scenario starts

Explanation

Question 20 of 40

1

Which document officially defines the requirements that should be implemented by system developers?

Select one or more of the following:

  • Software Specification Document

  • Software Requirements Document

  • Technical Design Document

  • Software Design Specification

Explanation

Question 21 of 40

1

What do Gamma et al. suggest are the essential elements of a design pattern?

Select one or more of the following:

  • A meaningful name

  • A statement of the consequences of applying the pattern.

  • Vocabulary for talking about the design

  • A description of the problem and when the pattern can be applied

  • A well tried solution to a common problem

  • A description of accumulated wisdom and experience

  • Object characteristics such as inheritance and polymorphism

  • A solution description, which shows the components in the solution and their relationships

Explanation

Question 22 of 40

1

Which selections best describe approaches that may be used to identify object classes?

Select one or more of the following:

  • Use scenario-based analysis

  • Describe the dynamic structure of the system and show the interactions between the system objects

  • Grammatical analysis identifying nouns and verbs

  • Describe the static structure of the system using object classes and their relationships

  • Show logical groupings of objects into coherent subsystems

  • Identify tangible things in the application domain

Explanation

Question 23 of 40

1

What do you understand by the system context and interaction model?

Select one or more of the following:

  • The interaction model shows logical groupings of objects into coherent subsystems

  • The system context is a static model of the other systems in the environment of the system being designed

  • The system context uses a grammatical analysis of a natural language description of the system to be constructed

  • An interaction model is a dynamic model that describes how the system being designed interacts with its environment

Explanation

Question 24 of 40

1

What are the standard tools in a software development platform?

Select one or more of the following:

  • A language debugger

  • GNU Build System

  • mySQL database

  • Graphical editing tools for UML models

  • Embedded systems

  • Unix Make

  • Project support tools for code control

  • Testing tools that can automatically run program tests

  • An integrated compiler and syntax-directed editing systems

Explanation

Question 25 of 40

1

What are the principal aims of software configuration management?

Select one or more of the following:

  • Find out what components have been changed and compile and link components to create a system

  • System integration, where support is provided to help developers define what versions of components are used to create each version of a system

  • Version management, where support is provided to keep track of the different version of software components

  • To support system integration so that all developers can access the project code and documents in a controlled way

  • Problem tracking, where support is provided to allow users to report bugs and other problems

Explanation

Question 26 of 40

1

Why is it important to specify the interfaces of components that are being developed by a software engineering team?

Select one or more of the following:

  • Interface design is not concerned with specifying the detail of the interface to an object or to a group of objects

  • Interfaces have to be specified so that objects and sub-systems can be designed in parallel

  • Once an interface has been specified, the developers of other parts of the system may assume that the interface will be implemented

  • You should include details of the data representation in an interface design since attributes are not defined in an interface specification

Explanation

Question 27 of 40

1

Which concepts describe the idea of open-source development.

Select one or more of the following:

  • The source code of a software system is made publicly available and volunteers participate in the further development of the system

  • When high-quality open source options are available, you can save time and money by using these systems

  • Great for developing software to a specific set of organizational requirements

  • Any contributor to an open source development may fix bugs and add new features to a system

  • The Linux operating system

  • Making a software system open source guarantees community involvement

Explanation

Question 28 of 40

1

What are the 5 key activities in an object-oriented design process?

Select one or more of the following:

  • Version management

  • Understand and define the context and use of the system.

  • Identify the principal objects in the system

  • Provide a standard way of accessing the elements in a collection

  • Specify object interfaces

  • System integration

  • Host-target development

  • Develop design models

  • Design the system architecture

  • Tidy up the interfaces to a number of related objects

Explanation

Question 29 of 40

1

What are the three types of user testing?

Select one or more of the following:

  • Alpha testing, where users work with the development team to test the software as it is being developed

  • Acceptance testing, where customers test a system to check that it is ready for deployment

  • Acceptance testing, where users work with the development team to test the software as it is being developed

  • Beta testing where the software is released to selected users for testing before the formal system release

  • Alpha testing, where the software is released to selected users for testing before the formal system release

  • Beta testing, where customers test a system to check that it is ready for deployment

Explanation

Question 30 of 40

1

What guidelines does Whittaker suggest for defect testing?

Select one or more of the following:

  • Design inputs that might cause buffers to overflow

  • Force invalid outputs to be generated

  • Choose inputs that force all error messages to be generated

  • Force computation results to be too large or too small.

  • Repeat the same input numerous times

  • Use the wrong parameter types in function calls

  • Use metric units where US standard units are required

  • Randomly start and stop the program multiple times

Explanation

Question 31 of 40

1

Interface errors fall into three classes. What are they?

Select one or more of the following:

  • Interface misuse: A calling component calls some other component and makes an error in the use of its interface such as the wrong number of parameters.

  • Interface misunderstanding: A calling component makes assumptions about the called component. An unsorted array might be sent when a sorted array is required.

  • Timing errors: Two components may be operating at different speeds. However, old data is better than no data.

  • Interface misuse: A calling component calls some other component and makes an error in the use of its interface such as sending unordered arrays.

  • Timing errors: Two components may be operating at different speeds. Consumers may access out of date information.

  • Interface misunderstanding: A calling component makes assumptions about the called component such as which native data types are in the parameter list.

Explanation

Question 32 of 40

1

Briefly describe the principal stages of testing for a commercial software system.

Select one or more of the following:

  • Release testing: the system is tested to check that it meets its requirements. This is usually held by the original software developers.

  • Release testing: the system is tested to check that it meets its requirements. This is usually held by a separate team.

  • Component testing: where individual program units are tested. Component testing should focus on testing the functionality of objects and methods.

  • Development testing: the system is tested to discover bugs and defects. System designers are not likely to be involved.

  • Component testing: where component interfaces are tested. Several individuals create composite components.

  • User testing: the system is tested in the user's environment. Unit testing is a type of user testing.

  • User testing: the system is tested in the user's environment. Acceptance testing is a type of user testing.

  • Development testing: the system is tested to discover bugs and defects. System designers are likely to be involved.

Explanation

Question 33 of 40

1

Software systems require a certain level of confidence. What is this 'level' based on?

Select one or more of the following:

  • User Expectations

  • Automated Testing

  • Software Purpose

  • Software Inspections and Reviews

  • Marketing Environment

  • Development Testing

Explanation

Question 34 of 40

1

What is emergent behavior?

Select one or more of the following:

  • Behaviors exhibited by emergents

  • Elements of system functionality that become obvious when you put the components together.

  • Untested functionality that users' discover after release

  • Behaviors synonomous with emergency broadcasts

Explanation

Question 35 of 40

1

What are the advantages of inspections over testing?

Select one or more of the following:

  • Inspections can consider broader quality attributes as well as program defects.

  • Testing can only show the presence of errors, not their absence

  • Incomplete versions of a system can be tested

  • Inspections can discover many errors.

  • In testing, one error may mask another.

Explanation

Question 36 of 40

1

What are the different types of component interfaces?

Select one or more of the following:

  • Shared memory interfaces

  • Procedural interfaces

  • Physical interfaces

  • GUI interfaces

  • Software design interfaces

  • Message passing interfaces

  • Public and private interfaces

  • Parameter interfaces

Explanation

Question 37 of 40

1

What tests should be included in object class testing?

Select one or more of the following:

  • Tests that set and access all object attributes

  • Tests for all operations in isolation

  • Tests that simulate all events that cause a state change

  • Tests that force the object into all possible states

Explanation

Question 38 of 40

1

What process metrics might be used to assess maintainability?

Select one or more of the following:

  • Number of outstanding change requests

  • Average time required for impact analysis

  • Number of requests for corrective maintenance

  • Average time taken to implement a change request

Explanation

Question 39 of 40

1

Why is it usually more expensive to add functionality after a system is in operation?

Select one or more of the following:

  • Senior staff engineers are usually placed on maintenance teams.

  • The maintenance contract is usually separate from the development contract. So why should a development team write maintainable software?

  • Development is seen as a less-skilled process. Therefore maintenance engineers are paid more.

  • Older systems used more stringent software engineering principles and were optimized for efficiency rather than understandability.

  • As changes are made to programs, the structure tends to degrade which makes them harder to understand.

  • Teams are usually broken up after a system is complete.

  • Maintenance staff are usually less experienced with the application domain.

  • The maintenance phase is so much longer than the original development phase.

Explanation

Question 40 of 40

1

What occurs during the evolution phase of a software product?

Select one or more of the following:

  • The software may still be used but no further changes are implemented.

  • Its structure tends to degrade and changes become more and more expensive.

  • Only changes that are relatively small and essential.

  • Significant changes to the software architecture and functionality may be made.

  • Only small tactical changes are made to it.

  • A transition point where significant changes and implementing new requirements becomes less and less cost effective.

Explanation