Uploaded by Potso Mathaba

Software Engineering 1B - Past Papers Questions

advertisement
Contents
MEDIUM QUESTIONS ................................................................................................................. 2
DISCUSS THE FOLLOWING TERMS: ................................................................................... 4
DIFFERENTIATE BETWEEN THE FOLLOWING: ............................................................ 8
LONG QUESTIONS ...................................................................................................................... 11
FULL TERM NAMES OF ACRONYMS: ................................................................................. 17
OUTCOMES ..................................................................................................................................... 17
MEDIUM QUESTIONS
What is a project and what is the project manager? (4)
A project is any undertaking, carried out individually or collaboratively and possibly involving
research or design that is carefully planned to achieve a particular aim
A project manager is a professional in the field of project management. Project managers have the
responsibility of the planning, procurement and execution of a project, in any undertaking that has
a defined scope, defined start and a defined finish; regardless of industry.
Discuss units that can be reused by software engineers during system
development (8)
System reuse: Complete systems, which may include several application programs.
Application reuse: An application may be reused either by incorporating it without change into
other or by developing application families.
Component reuse: Components of an application from sub-systems to single objects may be
reused.
Object and function reuse: Small-scale software components that implement a single welldefined object or function may be reused.
Briefly discus five (5) disadvantages of COST (Commercially Off-Shelf) products
(10)

Can be more expensive over time

Can be impossible or inflexible to change should you need it

You have no control

May not be supported after time

Upgrades can cost extra

Too many features and functions

Too few features and functions

May have integration issues

Might not fit your work process
Briefly explain two (2) types of CBSE (Component-Based Software Engineering)
process (4)
Development for reuse: This process is concerned with developing components or services that
will be reused in other applications. It usually involves generalizing existing components.
Development with reuse: This process is the process of developing new applications using
existing components and services.
Discuss the points to consider for a component to be reusable (8)




Efficiency — with the basics already built, 80 percent of the work is done. You can save
time and money by relying on some reusable components. That means getting the app
done faster and for less cost. In very large organizations, having a shared database of
components prevents duplicity across teams.
Consistency — the primary functions will be consistent, allowing greater control and
scalability for those building the apps and a more consistent experience for the users.
Field-proven code — Code that has been used many times by various people is pretested already proven in the field. We liken this to manufacturing facilities that rely on
parts built elsewhere to assemble the full product. The pieces are vetted, and you know
they work; that way when you plug them in to your product, you’re less likely to encounter
problems during development.
Easier testing — because the code is already proven, testing is also easier. The base
functionality of certain features has already been tested. Now, you’re testing to make sure
the entirety of it works together and to make sure any new features or sections work well.
If you discover problems, you have fewer places to search for the cause because, chances
are, the issue is in the newer part you created.
Discuss four (4) critical factors that need to be considered during people
managing (8)
Answer: (TB, 603)




Consistency – all team members must be treated the same and rewards must be
distributed evenly to all those who deserve them. At the same time, their contribution to
the project must not seem as wasted, in other words, their contributions must not be
undervalued.
Respect – managers should respect everyone irrespective of their skills. Everyone should
be given an opportunity to make a contribution towards the project.
Inclusion – management must create an environment where they listen and act upon team
members’ recommendations or suggestions. People always make contributions when they
can see or feel that someone is listening to them.
Honesty – a good leader must always express what’s going well and what is going wrong
with the team. This is done to ensure that team members are made aware of the progress
and hiccups of the projects and where ever necessary precaution measures can be done in
the future.
Discuss five (5) project management activities (10)
Answer: (TB, 595)





Project planning – project managers are responsible for planning, estimating, assigning
tasks to team members and determining the schedule of the project. The project manager
also ensures that the project meets a certain standard, delivered on time and within the
budget.
People management – project managers need to manage a team of people and they
need to select their own team members and establish ways of working with the chosen
team for the best results.
Risk management – as a project manager, before the project begins, he/she needs to
assess any possible risks which may be encountered during project development. The
identified risks must be monitored and any possible action must be taken to avoid such
risks.
Reporting – this is one of the major responsibilities of a project manager. He/she needs
to report the progress of the project to the owners.
Proposal writing – before a project begins, a proposal must be written. The proposal
must contain the objectives of the project with several tasks and how those tasks will be
carried out.
Discuss three (3) classifications of risk. (6)



Business Risk: These types of risks are taken by business enterprises themselves in
order to maximize shareholder value and profits. As for example, Companies undertake
high-cost risks in marketing to launch a new product in order to gain higher sales.
Non- Business Risk: These types of risks are not under the control of firms. Risks that
arise out of political and economic imbalances can be termed as non-business risk.
Financial Risk: Financial Risk as the term suggests is the risk that involves financial loss
to firms. Financial risk generally arises due to instability and losses in the financial market
caused by movements in stock prices, currencies, interest rates and more.
Mention six (6) different types of risk (6)
1. Estimation risks arise from the management estimates of the resources required to build
the system.
2. Organizational risks arise from the organizational environment where the software is being
developed.
3. People risks are associated with the people in the development team.
4. Requirements risks come from changes to the customer requirements and the process of
managing the requirements change.
5. Technology risks come from the software or hardware technologies that are used to
develop the system.
6. Tools risks come from the software tools and other support software used to develop the
system.
DISCUSS THE FOLLOWING TERMS:
-
Application frameworks (2)
These are collections of classes which are extended and adapted to create an application
system. The types of classes can be a combination of concrete as well as abstract classes.
(TB, 430)
-
Aspect-oriented software development (2)
The process of developing a software which meets the needs of specific users. (TB, 430)
-
Architectural plans (2)
These are common standard overviews or architectures which support an application system.
(TB, 430)
-
Legacy system wrapping (2)
The process of defining a set of legacy interfaces and providing access to those interfaces.
(TB, 430)
-
Program generators (2)
These generate systems by embedding knowledge of a given type of application in a specific
domain. (TB, 430)
-
Service-oriented systems (2)
Developing systems by linking shared services and these shared services may be externally
provided. (TB, 430)
-
Systems of systems (2)
Developing a system by using another system that is a process of integrating two or more
systems. (TB, 430)
-
Model-driven engineering (2)
The process of generating code from domain models and implementation models and these
implementation models must be independent. (TB, 430)
-
Component-based software engineering (2)
The process of reusing components during software development. (TB, 430)
-
Application system integration (2)
This is a process whereby two or more application systems are integrated together to provide
an extended functionality. (TB, 430)
-
CASE (2)
Computer-Aided Software Engineering
-
Client (2)
A computer or a program that, as part of its operation, relies on sending a request to another
program or a computer hardware or software that accesses a service made available by a
server (which may or may not be located on another computer).
-
Distributed system (2)
A software system where the software sub-systems or components execute on different
processors.
-
Interface (2)
A specification of the attributes and operations associated with a software component. The
interface is used as the means of accessing the component’s functionality
-
ISO 9000/9001 (2)
A set of standards for quality management processes that is defined by the International
Standards Organization (ISO). ISO 9001 is the ISO standard that is most applicable to
software development. These may be used to certify the quality
Management processes in an organization.
Discuss five (5) characteristics of a component (10)
Answer: (TB, 456)





Components are composable that is components consists of standard defined interfaces
Components are self-contained and can be stand-alone components, meaning they are
deployable
Most of the components are properly documented, such that potential users can easily
decide whether the component meet their requirements or not
Components are independent meaning they can operate without using other specific
components
All components meant for reuse must conform to a certain standard component model
Identify and briefly discuss sub-models of the COCOMO estimation model (8)
Answer: (TB, 637 - 638)




An application composition model – this model estimates the effort required to develop a
system using reusable components, scripting and even database programming.
An early design model - uses an initial effort estimation based on system and design
requirements and this is on the basis of a number of functional points (they quantify
program functionality).
Re-use model – uses an effort to integrate reusable components or even to automatically
generate code and this is done on the basis of several lines of reused code or generated
code.
Post architecture model – uses a development effort based on system design specification
on the bases of the number of lines for source code.
Briefly discuss techniques that can be used for making estimation in a project.
(6)
Answer: (TB, 634)


Experience-based techniques – this is whereby the estimate of future effort requirements
is based on the manager’s experience of past projects.
Algorithmic cost modelling – this a formula approach which computes effort based on
estimates of the product attributes and these product attributes may be the size of the
project, process characteristics and staff experience.
Identify and briefly discuss five (5) project management activities. (10)
1. Project planning: Project managers are responsible for planning, estimating, and
scheduling project development and assigning people to tasks. They supervise the work to
ensure that it is carried out to the required standards, and they monitor progress to check
that the development is on time and within budget
2. Risk management: Project managers have to assess the risks that may affect a project,
monitor these risks, and take action when problems arise.
3. People management: Project managers are responsible for managing a team of people.
They have to choose people for their team and establish ways of working that lead to
effective team performance.
4. Reporting: Project managers are usually responsible for reporting on the progress of a
project to customers and to the managers of the company developing the software. They
have to be able to communicate at a range of levels, from detailed technical information to
management summaries. They have to write concise, coherent documents that abstract
critical information from detailed project reports. They must be able to present this
information during progress reviews.
5. Proposal writing: The first stage in a software project may involve writing a proposal to
win a contract to carry out an item of work. The proposal describes the objectives of the
project and how it will be carried out. It usually includes cost and schedule estimates and
justifies why the project contract should be awarded to a particular organization or team.
Proposal writing is a critical task as the survival of many software companies depends on
having enough proposals accepted and contracts awarded.
Discuss the key factors of centralised and distributed version control system (10)
Answer: (TB, 691)





Version and release identification – each version released, has its own unique identification
and these identifiers enable the software engineers to allow different versions of the same
component to be managed.
Change history recording – each time there is a new version of a component, the VC
system records and keeps track of all the changes made to the system.
Independent development – during development, different developers may be working on
certain component simultaneously. Any changes made to the component must be tracked
so that the components do not interfere.
Project support – in project components may be shared.
Storage management – the VC system ensures that duplicate copies of identical files are
maintained and they are usually automatically re-created. In a scenario, where multiple
components have small differences, the VC system may store those differences also.
Elaborate on why standard is crucial to quality assurance (6)
Answer: (TB, 658)



They capture wisdom, in other words, they capture or emphasise value in an organisation.
Standards provide a framework which can be used to define quality in an organisation.
If standards are properly specified, there is continuity in a project since all software
engineers will be using well-known quality management practices.
Differentiate between product standard and process standard (12)
Answer: (TB, 659)
PRODUCT STANDARDS
Design review form
Requirements document structure
Method header format
Java programming style
Project plan format
Change request form
PROCESS STANDARDS
Design review conduct
Submission of new code for system building
Version release process
Project plan approval process
Change control process
Test recording process
Identify any five fault classes involved in an inspection checklist? (5)
Fault class

Data faults





Control faults




Inspection
check
Are all program variables initialized before their
values are used?
Have all constants been named?
Should the upper bound of arrays be equal to the
size of the array or Size 21?
If character strings are used, is a delimiter explicitly
assigned?
Is there any possibility of buffer overflow?
For each conditional statement, is the condition
correct?
Is each loop certain to terminate?
Are compound statements correctly bracketed?
In case statements, are all possible cases accounted
for?
If a break is required after each case in case
statements, has it been included?
Input/output faults




Interface faults




Storage management
faults


Exception
management faults

Are all input variables used?
Are all output variables assigned a value before they
are output?
Can unexpected inputs cause corruption?
Do all function and method calls have the correct
number of parameters?
Do formal and actual parameter types match?
Are the parameters in the right order?
If components access shared memory, do they have
the same model of the shared memory structure?
If a linked structure is modified, have all links been
correctly reassigned?
If dynamic storage is used, has space been allocated
correctly?
Is space explicitly de-allocated after it is no longer
required?
Have all possible error conditions been taken into
account?
DIFFERENTIATE BETWEEN THE FOLLOWING:
-
Architectural pattern and design pattern (4)
Architectural pattern
-
Standard software architectures that
Generic abstractions that occur across
support common types of application
applications are represented as design
system are used as the basis of
patterns showing abstract and concrete
applications
objects and interactions.
Application framework and software product line (4)
Application framework
-
Design pattern
software product line
Collections of abstract and concrete
An application type is generalized around
classes are adapted and extended to
a common architecture so that it can be
create application systems.
adapted for different customers.
Component based development and COTS product reuse (4)
Component based development
COTS product reuse
set of reuse-enabling technologies, tools
Systems are developed by configuring
and techniques that allow application
and integrating existing application
development (AD) organizations to go
systems
through the entire AD process (i.e.,
analysis design, construction and
assembly) or through any particular stage
via the use of predefined componentenabling technologies (such as AD
patterns, frameworks, design templates)
tools and application building blocks.
-
Program libraries and program generators (4)
Program libraries
program generators
Class and function libraries that implement
A generator system embeds knowledge of
commonly used abstractions are available
a type of application and
for reuse
is used to generate systems in that
domain from a user-supplied system
model.
-
Model driven engineering and ERP System (4)
Model driven engineering
ERP System
Software is represented as domain models
Large-scale systems that encapsulate
and implementation independent models,
generic business functionality and rules
and code is generated from these models
are configured for an organization
What is a reuse-base software engineering? (2)
Reuse-based software engineering is a software engineering strategy where the development
process is geared to reusing existing software.
Discuss problems that come with software reuse. (10)





Creating, maintaining, and using a component library: Populating a reusable
component library and ensuring the software developers can use this library can be
expensive. Development processes have to be adapted to ensure that the library is used.
Finding, understanding, and adapting reusable components: Software components
have to be discovered in a library, understood and, sometimes, adapted to work in a new
environment. Engineers must be reasonably confident of finding a component in the library
before they include a component search as part of their normal development process.
Increased maintenance costs: If the source code of a reused software system or
component is not available then maintenance costs may be higher because the reused
elements of the system may become increasingly incompatible with system changes.
Lack of tool support: Some software tools do not support development with reuse. It
may be difficult or impossible to integrate these tools with a component library system.
The software process assumed by these tools may not take reuse into account. This is
particularly true for tools that support embedded systems engineering, less so for objectoriented development tools.
Not-invented-here syndrome: Some software engineers prefer to rewrite components
because they believe they can improve on them. This is partly to do with trust and partly
to do with the fact that writing original software is seen as more challenging than reusing
other people's software.
Briefly discuss five disadvantages of COST (Commercially Off-Shelf) products.
(10)



Can be more expensive over time
Can be impossible or inflexible to change should you need it
You have no control






May not be supported after time
Upgrades can cost extra
Too many features and functions
Too few features and functions
May have integration issues
Might not fit your work process
Discuss five characteristics of a component. (10)
Answer: (SG, 18) (TB, 456)





Components are composable that is components consists of standard defined interfaces
Components are self-contained and can be stand-alone components, meaning they are
deployable
Most of the components are properly documented, such that potential users can easily
decide whether the component meet their requirements or not
Components are independent meaning they can operate without using other specific
components
All components meant for reuse must conform to a certain standard component model.
Name and explain three classes of framework (6)



System infrastructure frameworks support the development of system infrastructures
such as communications, user interfaces, and compilers.
Middleware integration frameworks consist of a set of standards and associated object
classes that support component communication and information exchange. Examples of
this type of framework include Microsoft’s .NET and Enterprise Java Beans (EJB). These
frameworks provide support for standardized component models.
Enterprise application frameworks are concerned with specific application domains
such as telecommunications or financial systems (Baumer et al. 1997). These embed
application domain knowledge and support the development of end-user applications.
These are not now widely used and have been largely superseded by software product
lines.
Discuss five project management activities (10)
Answer: (SG, 38) (TB, 595)





Project planning – project managers are responsible for planning, estimating, assigning
tasks to team members and determining the schedule of the project. The project manager
also ensures that the project meets a certain standard, delivered on time and within the
budget.
People management – project managers need to manage a team of people and they
need to select their own team members and establish ways of working with the chosen
team for the best results.
Risk management – as a project manager, before the project begins, he/she needs to
assess any possible risks which may be encountered during project development. The
identified risks must be monitored and any possible action must be taken to avoid such
risks.
Reporting – this is one of the major responsibilities of a project manager. He/she needs
to report the progress of the project to the owners.
Proposal writing – before a project begins, a proposal must be written. The proposal
must contain the objectives of the project with several tasks and how those tasks will be
carried out.
Discuss three classifications of risk (6)



Project risks affect the project schedule or resources. An example of a project risk is the
loss of an experienced system architect. Finding a replacement architect with appropriate
skills and experience may take a long time; consequently, it will take longer to develop the
software design than originally planned.
Product risks affect the quality or performance of the software being developed. An
example of a product risk is the failure of a purchased component to perform as expected.
This may affect the overall performance of the system so that it is slower than expected
Business risks affect the organization developing or procuring the software. For example, a
competitor introducing a new product is a business risk. The introduction of a competitive
product may mean that the assumptions made about sales of existing software products
may be unduly optimistic
LONG QUESTIONS
You been chosen to build a point of sale system that will be used to manage businesses
that are located at different geographic region. Since the shops are not located in one
place, you will need a distributed system, because some other customers will be placing
the order of their items online through the web based system. Remember the numbers of
shops might grow, the number of items might increase, or decreases when time goes on.
What will be the benefits of using a distributed system in the development of the
system in the case study above? (10)
Answer: (TB, 480)





There is resource sharing; that is computers connected to the network can easily share
software and hardware resources
There is openness; distributed system is open, that is they are compatible with any
hardware or software
There is the simultaneous execution of tasks or processes in a distributed system and this
is known as concurrency
New resources can be easily added to cope with demand in a distributed system as a
result, distributed systems are scalable
Distributed systems are fault tolerance and in case of software or hardware failure, data or
information may be recovered, since some data or information may be replicated.
Discuss the design issues that you must consider when designing the above
distributed system (12)
Answer: (TB, 481)






There should be transparency in a distributed system. The following question must be
asked, “To what extent should the system look like a single system?”
They should be openness; the system must be open for interoperability and it should be
compatible with most hardware and software resources in an organisation
In case of resources needed in the system, a distributed system should support scalab
Most distributed systems are secure since they are defined policies applied across
independently managed systems
Most distributed systems conform to a certain standard, hence there is the quality of
service to users and most of the services will be predetermined
A distributed system has the capability to manage and repair in case of a node failure
Scalability is another important factor to consider when building the system. (6)
Discuss the three dimensions of scalability.
Answer: (TB, 483)



Size – distributed systems must be able to cope with the increasing number of users at a
given node. Hence, as the number of users increases, the size should automatically
increase to cope with users of the system
Distribution – components of a system must be geographically distributed without
degrading the performance of the whole system
Manageability – distributed systems must be manageable no matter the size of the system
Briefly discuss the types of attacks which might occur in this distribution system
(8)
Answer: (TB, 483)




Interception – this is a scenario whereby an attacker intercepts communication between
nodes. As a result, they will be no privacy and confidentiality of data.
Interruption – a scenario whereby certain services of a system are attacked and data or
information along the way may not be delivered as expected. Denial of attacks are good
examples of interruption
Modification – a situation whereby an attacker gain access to sensitive data and then,
makes some modifications or changes the data
Fabrication – a situation whereby an attacker generates false data or information so as to
gain access to some privileges. Fabrication is mostly done by fraudsters.
Briefly discuss scale up or scale out. (4)
Answer: (TB, 483)


Scaling up - means replacing resources in the system with more powerful resources.
Scaling out - means adding additional resources to the system.
A middleware is important software used to support distributed system. What is
middleware, and discuss the support provided by middleware. (6)
A middleware is referred to as a software which sits in between components in a distributed
system. In other words, middleware as the name implies, it is a software which is found in the
middle of two components in a distributed system. Middleware is used to support the following:


Middleware supports interaction amongst various types of components. There is
transparency amongst components during communication
Middleware provides common services to various components in a distributed system. The
components in a distributed system must interoperate and be consistent in providing user
services.
Identify four (4) types of risks that can be encountered during the development
of this project (4)






Technology
People
Organizational
Tools
Requirements
Estimation
Which computing system is ideal to develop the system in case study above, and
how does this system work? (4)
Draw a diagram that represent the system you have mentioned in the question
above. (6)
Highlight the major problems associated with COTS (10)





A vendor may stop providing support, or they may provide inadequate support for an
organisation’s needs.
No simple upgrade path between versions.
The product’s development/maintenance may get dropped as time goes on.
Lack of feature request processes.
Lack of product enhancements for example “addons” or “plugins” to extend functionality.
Components have two interfaces to allow the component to operate correctly.
Differentiate between the two interfaces. Include a diagram to enhance your
answer (15)


The “provides” interface defines the services provided by the component. This interface is
the component API. It defines the methods that can be called by a user of the component.
In a UML component diagram, the “provides” interface for a component is indicated by a
circle at the end of a line from the component icon.
The “requires” interface specifies the services that other components in the system must
provide if a component is to operate correctly. If these services are not available, then the
component will not work. This does not compromise the independence or deployability of a
component because the “requires” interface does not define how these services should be
provided. In the UML, the symbol for a “requires” interface is a semicircle at the end of a
line from the component icon. Notice that “provides” and “requires” interface icons can fit
together like a ball and socket.
There are many factors to consider when planning reuse. Outline the KEY factors
you would consider when planning software re-use (18)






The development schedule for the software: If the software has to be developed
quickly, you should try to reuse complete systems rather than individual components.
Although the fit to requirements may be imperfect, this approach minimizes the amount of
development required.
The expected software lifetime: If you are developing a long-lifetime system, you
should focus on the maintainability of the system. You should not just think about the
immediate benefits of reuse but also of the long-term implications.
The background, skills and experience of the development team: All reuse
technologies are fairly complex, and you need quite a lot of time to understand and use
them effectively. Therefore, you should focus your reuse effort in areas where your
development team has expertise.
The criticality of the software and its non-functional requirements: For a critical
system that has to be certified by an external regulator you may have to create a safety or
security case for the system (discussed in Chapter 12). This is difficult if you don’t have
access to the source code of the software
The application domain: In many application domains, such as manufacturing and
medical information systems, there are generic products that may be reused by
configuring them to a local situation. This is one of the most effective approaches to reuse,
and it is almost always cheaper to buy rather than build a new system.
The platform on which the system will run: Some components models, such as .NET,
are specific to Microsoft platforms. Similarly, generic application systems may be platformspecific, and you may only be able to reuse these if your system is designed for the same
platform.
As a starting point for risk identification, a checklist may be used. Identify and
briefly explain the different types of risks that may be included in the risk
checklist. (12)






Estimation risks arise from the management estimates of the resources required to build
the system.
Organizational risks arise from the organizational environment where the software is being
developed
People risks are associated with the people in the development team
Requirements risks come from changes to the customer requirements and the process of
managing the requirements change.
Technology risks come from the software or hardware technologies that are used to
develop the system.
Tools risks come from the software tools and other support software used to develop the
system
Discuss four closely related activities involved with the configuration management of a
system product. (8)




Version management – this is the process of keeping track of different versions of a
system. Version management stops one developer from overwriting code that has been
submitted by another developer
System integration – different versions of components (which are added or modified to
an existing component) are compiled and linked to the required components automatically
Problem tracking – allows users to report bugs and errors to developers so that
developers can see who is working on those problems and when they are fixed.
Release management – is a process of releasing new versions of a software system to
customers
A CMMI assessment involves examining the processes in an organization and rating these
processes or process areas on a six-point scale that relates to the level of maturity in each
process area. The idea is that the more mature a process, the better it is. Identify and
describe the level of maturity to a process area assigned by the six-point scale. (12)
The levels in the process maturity model are:
1. Initial: The goals associated with the process area are satisfied, and for all processes the
scope of the work to be performed is explicitly set out and communicated to the team
members.
2. Managed: At this level, the goals associated with the process area are met, and
organizational policies are in place that define when each process should be used. There
must be documented project plans that define the project goals. Resource management
and process monitoring procedures must be in place across the institution.
3. Defined: This level focuses on organizational standardization and deployment of processes.
Each project has a managed process that is adapted to the project requirements from a
defined set of organizational processes. Process assets and process measurements must
be collected and used for future process improvements.
4. Quantitatively managed: At this level, there is an organizational responsibility to use
statistical and other quantitative methods to control subprocesses. That is, collected
process and product measurements must be used in process management
5. Optimizing: At this highest level, the organization must use the process and product
measurements to drive process improvement. Trends must be analysed and the processes
adapted to changing business needs
Define software measurement analysis as well as the stages in component measurement.
Include a diagram showing the process of product measurement (15)
A measurement process that may be part of a software quality assessment process. Each system
component can be analyzed separately using a range of metrics. The values of these metrics may
then be compared for different components and, perhaps, with historical measurement data
collected on previous projects.
The key stages in this component measurement process are:
1. Choose measurements to be made: The questions that the measurement is intended to
answer should be formulated and the measurements required to answer these questions
defined. Measurements that are not directly relevant to these questions need not be
collected
2. Select components to be assessed: You may not need to assess metric values for all of the
components in a software system. Sometimes you can select a representative selection of
components for measurement, allowing you to make an overall assessment of system
quality. At other times, you may wish to focus on the core components of the system that
are in almost constant use. The quality of these components is more important than the
quality of components that are infrequently executed.
3. Measure component characteristics: The selected components are measured, and the
associated metric values are computed. This step normally involves processing the
component representation (design, code, etc.) using an automated data collection tool. This
tool may be specially written or may be a feature of design tools that are already in use.
4. Identify anomalous measurements: After the component measurements have been made,
you then compare them with each other and to previous measurements that have been
recorded in a measurement database. You should look for unusually high or low values for
each metric, as these suggest that there could be problems with the component exhibiting
these values.
5. Analyze anomalous components: When you have identified components that have
anomalous values for your chosen metrics, you should examine them to decide whether or
not these anomalous metric values mean that the quality of the component is compromised.
An anomalous metric value for complexity (say) does not necessarily mean a poor-quality
component. There may be some other reason for the high value, so there may not be any
component quality problems.
Release Management involves making decisions on system release dates, preparation as
well as documenting each system release. Describe in full your understanding of release
management. (20)
The release may also include:





Configuration files defining how the release should be configured for particular
installations;
Data files, such as files of error messages in different languages that are needed for
successful system operation;
an installation program that is used to help install the system on target hardware;
Electronic and paper documentation describing the system;
Packaging and associated publicity that have been designed for that release.
When planning the installation of new system releases, you cannot assume that customers
will always install new system releases. Discuss this statement with regards to cost,
platform, distribution, additional files, and marketing bugs in release, customer interest
and risk. (15)
To illustrate this problem, consider the following scenario:
1. Release 1 of a system is distributed and put into use.
2. Release 2 requires the installation of new data files, but some customers do not need the
facilities of release 2 and so remain with release 1.
3. Release 3 requires the data files installed in release 2 and has no new data files of its own
Which computing system is ideal to develop the system in question 4, and how does this
system work? (4)
FULL TERM NAMES OF ACRONYMS:
ISO - International Organization for Standardization
QOS - Quality of Service
SCI – Software Configuration Item
SaaS - Software as a Service
SOA - Service-Oriented Architectures
RPC - Remote Procedure Calls
OCL - Object Constraint Language
CBSE - Component-Based Software Engineering
COTS - Commercial Off-The-Shelf
P2P - Peer-to-Peer
CMMI - Capability Maturity Model Integration
OUTCOMES

The reuse landscape (TB, 428 - 431)

Component and component models (TB, 455 - 458)

Managing people (TB, 602 - 603)

COCOMO cost modelling (TB, 637 - 638)

Estimation techniques (TB, 634)

What is a project (TB, 595)

Version management (TB, 691 - 693)

Software standards (TB, 658)

An overview of distributed systems (TB, 480)

Risk management (TB, 599)
Download