0% found this document useful (0 votes)
314 views9 pages

Advanced Software Engineering Exam 2024

The document is an examination question paper for the Advanced Software Engineering module (CS6003ES) at London Metropolitan University, scheduled for January 2024. It consists of two parts: Part A with multiple-choice questions and Part B requiring answers to three out of five questions related to software development scenarios and concepts. Candidates are instructed to use only permitted materials and must adhere to examination rules regarding unauthorized materials.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
314 views9 pages

Advanced Software Engineering Exam 2024

The document is an examination question paper for the Advanced Software Engineering module (CS6003ES) at London Metropolitan University, scheduled for January 2024. It consists of two parts: Part A with multiple-choice questions and Part B requiring answers to three out of five questions related to software development scenarios and concepts. Candidates are instructed to use only permitted materials and must adhere to examination rules regarding unauthorized materials.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Examination question paper: January 2024 (Main)

Module code: CS6003ES

Component Number: Exam

Module title: Advanced Software Engineering

Module leader: Dr. Lochandaka Ranathunga

Date:

Start time:

Duration: 2 Hours

Exam type: Unseen


Materials supplied:

Materials permitted: Scientific Calculator

Warning: Candidates are warned that possession of


unauthorised materials in an examination is a serious
assessment offence.

Instructions to This exam contains 2 parts (Part A and B).


candidates: Candidates MUST answer all MCQ question given in
Part A and any three (3) questions from Part B.

Do not turn page over until


instructed

© London Metropolitan University

Page 1 of 9
Part A
Mark Answers for all the questions

Q. 1: Which of the following stage is least relevant stage in a software development


process?
A. Requirement Elicitation
B. Software Maintenance
C. Deployment
D. Feasibility analysis.

Q. 2: V Life cycle model can be divided in to two main phases, those are …
A. Inception and Development
B. Decomposition and Integration
C. Development and Testing
D. Development and Maintenance

Q. 3: Which of the following process model requires user involvement throughout the
project?
A. Waterfall process
B. V Life cycle model
C. Agile
D. RAD

Q. 4: Which of the following two attributes represents software quality as whole?


A. Clear Requirements and Executable Code
B. Complete Requirements and Acceptable Design
C. Current Usefulness and Potential Usefulness
D. Complete Design and Useability Testing

Q. 5: System testing should investigate


A. Non-functional requirements only not Functional requirements
B. Functional requirements only not non-functional requirements
C. Non-functional requirements and Functional requirements
D. Non-functional requirements or Functional requirements.

Page 2 of 9
Q.6: What is meant by software “Phase out”?
A. Completion of one phase of a software process
B. Completely removing a software from its use.
C. Software development deviate from its planned process
D. Use of outdated software

Q.7: Which of the following is not a feature of an Incremental Development?


A. Cost in change of software increases
B. Continuous customer feedback available
C. More rapid development and deployment
D. Iterates through Specification, Development and Validation

Q.8: When Comparing Spiral model with the other software development process
models, what is the significant difference?
A. More weight given for the requirement elicitation.
B. More emphasis on risk factors in each phase
C. More concentration on Budgetary requirements
D. More weight given for the development and maintenance.

Q.9: When an ambiguous requirement may be interpreted in different ways by


developers, this situation referred as …

A. Requirement imprecision
B. System Requirement
C. Invalid Requirement
D. Bug

Q.10: What is the main objective of software testing?

A. Finding Errors
B. Show that software is operative.
C. Fix the bugs.
D. Show the software adhere to the requirements.

Page 3 of 9
Q.11: Normally which of the following role perform debugging?

A. Business analyst
B. Tester
C. Developer
D. Trainer

Q. 12: Which of the following is not a testing principle?


A. Absence of Error Fallacy
B. Defect clustering
C. Pesticide paradox
D. Testing is context independent.

Q. 13: What is meant by shared memory interface in software testing?


A. Same input feed into two or more software interfaces
B. Block of memory variable shared by two or more software functions.
C. Output of one function passes as input for another function
D. One function request service of another function

Q. 14: The name of the testing which is done to make sure the existing features are
not affected by new changes.

A. Recursive testing
B. White box testing
C. Unit testing
D. Regression testing

Q. 15: An alarm is to ring once the temperature falls above 40 and then it is turned off
when the temperature is less than 20. Identify the most suitable Equivalence Partition
which belong to the same class.

A. 0,1,2,59
B. 1, 6, 9, 5
C. 20, 29, 35, 40
D. 40, 57, 67, 99

Page 4 of 9
Q. 16: Which of the following role responsible for the acceptance testing?

A. Client
B. Developer
C. Tester
D. Software Designer

Q. 17: Cyclomatic Complexity is a measure for determining …

A. Number of test cases


B. Number of test paths
C. Number of code lines to test
D. Percentage of test coverage.

Q. 18: Which of the following is not a normal stage of software risk management?
A. Risk identification
B. Risk planning
C. Risk mitigation
D. Risk monitoring.

Q. 19: Which of the following step is not available in a Sprint Cycle of an agile
process?
A. User story selection
B. Development of functionality
C. Review the operation
D. Outline the integration plan.

Q. 20: Calculate the Cyclomatic Complexity of the following code fragment.


INT X = INPUT.
IF X > 5
THEN Statement 1.
ELSE Statement 2;
END

A. 1
B. 2
C. 3
D. 4

Page 5 of 9
Part B

Answer for 3 questions out of 5 questions.

Question 1

Case Study: Face2Face Cosmetics

Consider the following business case to answer the questions. Assume that you are assigned
to develop a software system for the following business requirements.

Face2Face Cosmetics (Pvt) Ltd. wishes to integrate a software system with the customer care
operations. Customer care service intended to deliver in two modes where direct contact of a
customer care officer or online form-based queries.

The described system requirements are as follows:

• Software interface needed for entering the customer profiles and their queries, which
is in assistance of call center operator.
• Form based web interface needed to take the customer queries based on product
items.
• In web-based form, it should be able to identify real customers based on purchased
item codes.
• Customer inquiries are to be categorized as complaints or request for help.
• Further, customer feedback can be collected through both operational modes of the
system.
• The customer feedback within a given period can be categorized as positive, neutral,
and negative feedback based on the product item.
• Customer queries are forwarded to back-office specialists by the call center operators.
• If any query is not attended within 24 hours, those are to be marked as red and sent to
the customer care manager.

Page 6 of 9
Based on the above given requirements, you must analyse the hidden requirements of the
intended system.

a) Identify the roles available in the intended system. [5 marks]


b) List the functional and non-functional requirements of the given system.
[7 marks]
c) Draw a use case diagrams for the software system. [8 marks]

Question 2
a) What is referred as dynamic testing in software testing? [8 marks]

b) Describe the testing strategy used in V model with its’ Stages. [8 marks]

c) Consider the following Pseudo code fragment.

int marks = arr[0];


int p = 1;
while (p < n) {
if (arr[p] < marks)
marks = arr[p];
p = p + 1;
}
return marks

Draw Control Flow Graph (CFG) for the above code and calculate the Cyclomatic

Complexity. [4 marks]

Page 7 of 9
Question 3
a) Give the benefits of verification and validation in software development and describe
the techniques of verification and validation in the process of software development.
[6 marks]
b) Use COCOMO application composition model to calculate effort needed to complete
an application with the following features.
Number of application points: 100
Application point productivity: Nominal (rate 12)
Percentage identified as reusable: 40%

[6 marks]

c) Write short note on the followings.


i. Black box testing
ii. Stress Testing

[2 x 4 marks]

Question 4

a) Describe the following terms in the context of software project management.

(i) Critical Path


(ii) Slack Time
[2 x 4 marks]

(iii) Illustrate a network diagram for the following activities using a standard diagrammatic
technique. (12 marks)

Activity Duration (weeks) Dependencies


a 8 none
b 10 none
c 8 a, b
d 9 a
e 5 b
f 3 c, d
g 2 d
h 4 f, g
i 3 e, f

Page 8 of 9
Question 5
a) In agile eXtreame Programming (XP) method, Test First Development (TFD) is a testing
approach commonly followed, describe the TFD.
[5 marks]
b) Briefly describe the Pair Programming approach used in agile software development.
[5 marks]
c) External Quality attributes of software normally depend on internal attributes. List the
external and internal quality attributes of a software and their inter dependencies.

[10 marks]

*** End of Examination Paper ***

Page 9 of 9

Common questions

Powered by AI

A network diagram visually represents project activities and their dependencies, illustrating the sequence of tasks. It helps in identifying the critical path, determining slack times, and optimizing scheduling to ensure efficient project management and timely completion .

Customer feedback in the Face2Face Cosmetics software system is collected through both direct contact and online form-based modes. Feedback is categorized as positive, neutral, or negative based on the product item. Unattended queries within 24 hours are marked as urgent and sent to the customer care manager .

Cyclomatic complexity is a metric used to measure the number of linearly independent paths in a program, thus determining its complexity. It is calculated using a control flow graph, where nodes represent code blocks, and edges represent control flow. The formula is M = E - N + 2P, where E is the number of edges, N is the number of nodes, and P is the number of connected components .

The Spiral Model places greater emphasis on risk factors by incorporating risk analysis and management at each phase. This contrasts with models like Waterfall and Agile, which do not focus as heavily on risk assessment throughout the development process .

Equivalence partitioning in testing ensures that different sets of input data, which should elicit the same response, are covered efficiently. For the alarm system, the suitable partition is 40, 57, 67, 99 as it includes values both above and below the threshold where the alarm triggers or turns off .

Failing to attend to customer queries within 24 hours risks damaging customer trust and potentially losing business. The system mitigates this by marking unattended queries as urgent (red) and forwarding them to the customer care manager for immediate attention .

Dynamic testing refers to testing that involves executing the code to detect errors. The V model stages for dynamic testing include validation stages such as system testing, integration testing, and user acceptance testing, where the actual software runs to detect defects .

Test First Development (TFD) in Extreme Programming (XP) involves writing test cases before the actual code is developed. This ensures that code development is tightly aligned with user requirements and helps identify potential problems early. TFD helps streamline development processes and supports continuous integration in agile environments .

External software quality attributes include usability, reliability, and performance, which depend on internal attributes such as code structure, complexity, and documentation. Internal attributes affect how easily a software can be maintained or extended, thereby impacting its external qualities .

Acceptance testing is performed typically by clients to ensure the software meets their requirements, whereas debugging is performed by developers to fix identified errors within the software code .

You might also like