Implementation Issues

This quiz covers the three key implementation issues in software engineering: software reuse (levels and costs), configuration management (four activities), and host-target development (development platforms, IDEs, and deployment decisions)

download Export
search_insights Statistics
stylus_note White Board
Quran
calculate Calculator
dictionary Dictionary
fullscreen Full Screen

QUESTION OF
Views #: 16
Questions #: 12
Time: 10 minutes
Pass Score: 80.0%
Style
Mode

Three Key Implementation Issues

1 pts
volume_mute

Software engineering includes activities beyond programming. Three implementation issues are particularly important and often not covered in programming textbooks. Which three are they?

note_alt Add notes
flag Flag

Correct Answer

Explanation

Four Levels of Software Reuse

1 pts

Software reuse is possible at several different levels of abstraction. The diagram below shows these levels. Match each level to its correct description.

Software reuse System Application systems (COTS) Component Component frameworks Programming language libraries Object Abstraction Architectural and design patterns

To complete the line match

  1. Click on an item in the first group
  2. Click on the match in the second group

To delete a match, double click on a line

Level

Component level
Abstraction level
Object level
System level

Description

You don't reuse software directly but use knowledge of successful abstractions in design; design patterns and architectural patterns are examples
You directly reuse objects from a library rather than writing the code yourself; requires finding appropriate libraries and checking if objects and methods offer the required functionality
Components are collections of objects that operate together to provide related functions and services; you adapt and extend by adding your own code - e.g., using a UI framework
You reuse entire application systems; usually involves some configuration of these systems, which may involve integrating several application systems
note_alt Add notes
flag Flag

Correct Answer

Explanation

Benefits of Software Reuse

1 pts
volume_mute

Which of the following are genuine benefits of reusing existing software? Select ALL that apply.

note_alt Add notes
flag Flag

Correct Answer

Explanation

Costs of Software Reuse

1 pts
volume_mute

Reuse is not free - there are costs associated with it. Which of the following are recognised costs of software reuse? Select ALL that apply.

note_alt Add notes
flag Flag

Correct Answer

Explanation

Configuration Management - Definition and Purpose

1 pts
volume_mute

Which of the following best describes configuration management and why it is essential in software development?

note_alt Add notes
flag Flag

Correct Answer

Explanation

Four Configuration Management Activities

1 pts

There are four fundamental configuration management activities. Match each activity to its description.

To complete the line match

  1. Click on an item in the first group
  2. Click on the match in the second group

To delete a match, double click on a line

Activity

Problem tracking
System integration
Release management
Version management

Description

Support is provided to keep track of the different versions of software components and to coordinate development by several programmers - stops one developer overwriting code submitted by another
Support is provided to help developers define what versions of components are used to create each version of a system; this description is used to build the system automatically by compiling and linking required components
Support is provided to allow users to report bugs and other problems, and to allow all developers to see who is working on these problems and when they are fixed
New versions of a software system are prepared and released to customers; concerned with planning the functionality of new releases and organising software for distribution
note_alt Add notes
flag Flag

Correct Answer

Explanation

Host-Target Development Model

1 pts
volume_mute

Most professional software development is based on a host-target development model. Which of the following correctly describes this model?

Host Development platform IDE Compilers Testing tools Target Execution platform Libraries Related systems Databases Download software
note_alt Add notes
flag Flag

Correct Answer

Explanation

Simulators in Embedded Systems Development

1 pts
volume_mute

Why are simulators commonly used when developing embedded systems software using the host-target model?

note_alt Add notes
flag Flag

Correct Answer

Explanation

Software Development Platform Tools

1 pts
volume_mute

A software development platform should provide a range of tools to support software engineering processes. Which of the following are tools typically included in a software development platform? Select ALL that apply.

note_alt Add notes
flag Flag

Correct Answer

Explanation

Integrated Development Environments (IDEs)

1 pts
volume_mute

Which of the following correctly describes what an Integrated Development Environment (IDE) is and how it works?

note_alt Add notes
flag Flag

Correct Answer

Explanation

Deployment Decision Factors

1 pts

When deciding where to deploy software components in a distributed system, three factors must be considered. Match each factor to its description.

To complete the line match

  1. Click on an item in the first group
  2. Click on the match in the second group

To delete a match, double click on a line

Factor

Hardware and software requirements of a component
Component communications
Availability requirements of the system

Description

If a component is designed for a specific hardware architecture or relies on other software, it must be deployed on a platform that provides the required hardware and software support
High-availability systems may require components to be deployed on more than one platform so that if one platform fails, an alternative implementation of the component is available
If there is a lot of inter-component communication, deploying those components on the same platform or physically close platforms reduces communications latency
note_alt Add notes
flag Flag

Correct Answer

Explanation

Configuration Management Tools

1 pts

Drag the correct tool name into each placeholder.

Version management in teams is commonly supported by systems such as (1) or (2), which can support multi-site, multi-team development. Bug and issue tracking is typically handled by tools such as (3). A comprehensive set of CM tools is available around the (4) system.

Please drag and drop the selected option in the right place or type it instead
Subversion
Git
GitHub
Bugzilla
Eclipse
JUnit
note_alt Add notes
flag Flag

Correct Answer

Explanation