November 02, 2018

Software Engineering - Comprehensive

2015 - 2016Comprehensive Examination
(Regular)Question) Indicate True or False for following statements with a justification within 30 words. No credit is given for answers with no justification.a. For successful design, you must practice diversification followed by convergence.Answer)TRUEb. Appraisal cost is likely to be the most expensive element of cost of quality.Answer)TRUEc. Before an architectural pattern is chosen for use in a particular system it must have a code implementation to expedite its reuse.Answer)FALSEd.Quantitative methods for evaluating the quality of proposed architectural designs are freely available.Answer) FALSEe. In component-based software engineering, the team searches for available components at the outset of the project.Answer)FALSEf. With thorough testing it is possible to remove all defects from a program prior to delivery to the customer.Answer)FALSEg. Many software metrics can only be measured indirectly.Answer)TRUEh. Software testing is deemed complete at end of budgeted duration for testing.Answer)FALSEi. Design patterns are not applicable to the design of object-oriented software.Answer)FALSEQuestion) Differentiate the following: a. Analysis vs. design

Answer)Analysis:The goal in Analysis is to understand the problem and
to begin to develop a visual model of what you are trying to build,
independent of implementation and technology concerns. Analysis concentrates
on translating the functional requirements into software theories. The
idea is to get a rough cut at the objects that comprise our system, but
focusing on behavior (and therefore encapsulation). After Analysis
is performed we move effortlessly, into "Design" and the other
concerns.

Design: Goal of Design is to improve the model with the purpose of developing a Design Model that will permit a seamless transition to the coding phase. In design, we familiarize ourselves to the implementation and the deployment environment. The implementation environs is the "developer" environment, which is a software super set and also a hardware subset of the deployment environment.

Analysis

Design

．Focus
on understanding the problem

．Idealized
design

．Behavior

．System
structure

．Functional
requirements

．A small
model

．Focus
on understanding the solution

．Operations
and attributes

．Performance

．Close to
real code

．object
life cycles

．Nonfunctional
requirements

．A large
model

b. Cohesion vs. coupling

Answer)

Cohesion

Coupling

Cohesion is the indication of the relationship
within module.

Coupling is the indication of the
relationships between modules.

Cohesion shows the module’s
relative functional strength.

Coupling displays the relative independence between
the modules and components of system.

Cohesion is a degree (quality) to
which a component / module emphases on the single thing.

Coupling is a degree to which a
component / module is related to the other modules.

While designing you should strive for high cohesion i.e.
a cohesive component/ module focus on a single task (i.e., single-mindedness)
with little interaction with other modules of the system.

While designing you should strive
for low
coupling i.e. dependency between
modules should be less.

Cohesion is a natural way of extension
of data hiding. For example, class having
all members visible with a package ensuring default visibility.

With Black box testing one
can test the software without knowing the internal structure of code or
program.

With White box the
internal structure of system is well-known to tester who is going to check
the software.

This type of testing is
carried out by testers.

Generally, this type of
testing is performed by software developers.

Implementation Knowledge
is not required to carry out Black Box Testing.

Implementation Knowledge
is required to carry out White Box Testing.

Programming Knowledge is
not required to carry out Black Box Testing.

Programming Knowledge is
required to carry out White Box Testing.

In this method, testing
is applicable on higher levels of testing .For instance System Testing,
Acceptance testing.

In this method, testing
is applicable on lower level of testing .Example :Unit Testing, Integration
testing.

Black box testing means external
test or functional testing.

White box testing means interior
test or structural testing.

d. Measure vs. indicator

e. Function-points vs. Lines of Code estimationAnswer)
Both FP and LOC are units of measurement for software size. The size of a software that is subject to development is required in order to come up with accurate estimates of effort, cost and duration of a software project. Most parametric estimation models such as COCOMO accept size expressed in either FP or LOC as input. Personally i prefer functional size of software expressed as FP for one very important reason: Size expressed using the FP metric stay constant regardless of which programming language or languages are used. Since the industry has more than 700 programming languages and almost every application uses multiple languages, the consistency of FP metric allow economic studies that are not possible using LOC metric. Function points can be seen as a universal IT-currency converter, giving a synthetic measure of the size of a software. For instance, it takes about 106.7 Cobol statements to construct 1 function point of software. It takes 128 C statements for the same 1 function point.

Question) Your organization has been executing software projects using prescriptive process models. Your management wanted to shift to agile processes. Prepare a memo listing requirements and implications of the shift.Answer) Question) Consider the software requirements for a modern bank offering savings accounts to its customers.

a.Draw use case diagram to express their requirementsAnswer)

b.Prepare detailed structured documentation for one of the use cases.
c.Identify the analysis classes with brief justification for the selection of each class.

About WaseianAt WASEIAN group, our affection to all the WASEians who have landed here for up-skilling themselves. We come up with various knowledge assistances with the wide range of Tutorials, Quizzes, Project tasks and Coursework as well.