SWE102 - Part 32

Ace your homework & exams now with Quizwiz!

It supports the idea of common ownership and responsibility for the code. It serves as an informal code review process. It helps support refactoring.

Briefly describe the advantage of pair programming.

Integration testing where the components and subsystems making up the system are integrated and tested. The integration team have access to the source code of the system. Release testing where the version of the system to be released to users is tested. The release testing team treat the system as a black-box while testing.

Briefly describe the two distinct phases of system testing.

Subsystem models that show logical groupings of objects. Sequence models that show the sequence of object interactions. State machine models that show state changes in response to events.

Briefly describe three design models that are part of the UML.

The internal details of an object are hidden from other objects so changing these details is unlikely to have knock-on effects on other objects.

Briefly explain why an OO approach facilitates design evolution.

The interface layer. The data collection layer. The instruments layer.

In the architectural model of the weather station system, what are the three layers in the software?

Customer involvement. Incremental delivery. People not process. Embrace change. Maintain simplicity.

List five important principles of agile methods.

Grammatical analysis identifying nouns and verbs. Identify tangible things in the application domain. Use an approach based on the behaviour of the system. Use scenario-based analysis.

List four approaches that may be used to identify object classes.

They do not support non-functional requirements modelling. They rarely include guidelines to help users decide if they can be used in a particular area. They tend to produce too much documentation. The models produced are detailed and often hard to understand.

List four weaknesses of structured methods.

Understand and define the context and use of the system. Design the system architecture. Identify the principal objects in the system. Develop design models. Specify object interfaces.

List the five key stages in an object-oriented design process.

Increased dependability. Reduced process risk. Effective use of specialists. Standards compliance. Accelerated development.

List the main benefits of software reuse.

Increased maintenance costs. Lack of tool support. Not-invented-here syndrome. Creating and maintaining a component library. Finding, understanding and adapting components.

List the main problems with software reuse.

Introduction. General description. Specific requirements. Appendices. Index.

List the requirements document sections suggested by the IEEE standard.

To help with the elicitation and validation of requirements. To explore software design solutions and support user interface design. To run back-to-back tests with the implemented system.

Suggest three ways that a software prototype may be used.

interacts with its environment.

The model of use is a dynamic model that describes how the system being designed

Accelerated delivery of customer services. User engagement with the system.

What are the advantages of using an incremental approach to software development?

The name of the object class. The attributes of that class. The operations or methods associated with that class.

What are the components of an object class definition in the UML?

Object-oriented analysis. Object-oriented design. Object-oriented programming.

What are the stages in an object-oriented development process?

Interface misuse. Interface misunderstanding. Timing errors.

What are the three important classes of interface errors?

To demonstrate that the software meets its requirements. To discover faults or defects in the software.

What are the two complementary goals of the testing process?

Requirements expressed as scenarios. Pair programming.Test-first development.

What are three important characteristics of extreme programming?

System infrastructure frameworks. Middleware integration frameworks. Enterprise application frameworks.

What are three possible classes of application framework?

Which COTS products offer the most appropriate functionality. How data will be exchanged between different products. What features of a product will actually be used.

What design choices have to be made when reusing COTS products?

Inheritance models. Object aggregation models. Object behaviour models.

What different object models may be developed?

A meaningful name. A description of the problem and when the pattern can be applied. A solution description. A statement of the consequences of applying the pattern.

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

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

What do you understand by the system context and model of use?

Chose inputs that force all error messages to be generated. Design inputs that might cause buffers to overflow. Repeat the same input numerous times. Force invalid outputs to be generated. Force computation results to be too large or too small.

What guidelines does Whittaker suggest for defect testing?

A design pattern is a description of a problem and the essence of its solution. This solution is expressed in a generic way and can be instantiated and reused in different settings.

What is a design pattern and why are patterns important for reuse?

A model that describes the logical structure of the data processed by a system or managed by a database.

What is a semantic data model?

A systematic way of producing models of an existing system or of a system that is to be built.

What is a structured method?

A successful defect test is one where the system?s operation does not conform to its specification, i.e. one that exposes a defect in the system.

What is a successful defect test?

A class of inputs or outputs where it is reasonable to expect that the system will behave the same way for all members of the class. For example, all strings with less than 256 characters.

What is an equivalence partition? Give an example.

The immediate external environment of the system defining the system?s context and the dependencies that a system has on its environment.

What is described in a context model?

How the system responds to external events.

What is described in a state machine model?

An approach to reuse where reusable knowledge is embedded in a generator system which is programmed by domain experts to create the system. An executable system is then generated.

What is generator-based reuse?

A structural testing strategy whose objective is to exercise every independent path through a program.

What is path testing?

The sequence of interactions between objects and actors in the system associated with a single defined use-case.

What is shown in an UML sequence model?

When a system feature is identified, the tests of the code implementing that feature are written before the code. Tests are automated and all tests are run when a new increment is added to the system.

What is test-first development?

An object is created at run-time by instantiating an object class. The object includes state variables and operations on that state as defined in the object class definition. Briefly describe two types of concurrent object implementation. Servers: The object is a parallel process with methods corresponding to the object operations. Methods execute in response to external requests Active objects: The state of the object is changed by internal operations within the object itself. The process executing these operations runs continuously.

What is the distinction between an object and an object class?

To test the failure behaviour of the system. To stress the system and bring defects to light that might not normally be discovered.

What is the function of stress testing?

Incremental development starts with the requirements that are best understood and that have the highest priority. Prototyping is intended to help understand the requirements so starts with requirements that are not well understood.

What is the key difference between incremental development and prototyping?

To define the signatures and semantics of the interfaces that are provided by an object or group of objects.

What is the purpose of interface design in an OO design process?

An approach to development where a programmer manipulates graphical icons representing functions, data or user interface components and associates processing scripts with these icons.

What is visual programming?

The development schedule for the software. The expected software lifetime. he background, skills and experience of the development team. he criticality of the software and its non-functional requirements. The application domain. The system delivery platform.

What key factors should be considered when planning reuse?

The problem of separation of concerns so that a software unit is designed to do one thing and one thing only.

What major software problem is addressed by aspect-oriented software development?

An external perspective. A behavioural perspective. A structural perspective.

What perspectives may be used for system modelling?

Tests for all operations in isolation. Tests that set and access all object attributes. Tests that force the object into all possible states.

What tests should be included in object class testing?

Requirements-based testing where test cases are designed from the requirements. Partition testing where input and output partitions are identified and tested. Structural testing where knowledge of the programs structure is used to design tests.

What three approaches may be used when designing test cases?

A database programming language. An interface generator. Links to office applications. A report generator.

What tools are normally included in a RAD environment?

Data flow models. Composition models.Architectural models. Classification models. Stimulus/response models.

What types of system model may be developed?

Improved system usability, a closer match to users? needs. Improved system quality, improved maintainability. Reduced development effort.

What were the key benefits of prototyping found in Gordon and Bieman?s study?


Related study sets

Chapter 2 - Fieldwork: A Meeting Of Cultural Traditions

View Set

Chapter 7: the fifth commandment you shall not kill

View Set