0% found this document useful (0 votes)
185 views7 pages

Advanced Software Engineering Exam 2024

The document is an examination question paper for the module CS6003ES: Advanced Software Engineering, scheduled for December 13, 2024. It consists of two parts: Part A with multiple-choice questions and Part B requiring detailed answers to three out of five questions related to software development concepts and practices. Candidates are instructed to use only permitted materials and to adhere to examination rules regarding unauthorized materials.

Uploaded by

ilovenodes
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

Topics covered

  • Distribution Management,
  • Software Maintenance,
  • Software Metrics,
  • Software Quality,
  • Software Testing,
  • Agile Development,
  • Automated Calculations,
  • Validation Testing,
  • Software Interfaces,
  • Software Design Patterns
0% found this document useful (0 votes)
185 views7 pages

Advanced Software Engineering Exam 2024

The document is an examination question paper for the module CS6003ES: Advanced Software Engineering, scheduled for December 13, 2024. It consists of two parts: Part A with multiple-choice questions and Part B requiring detailed answers to three out of five questions related to software development concepts and practices. Candidates are instructed to use only permitted materials and to adhere to examination rules regarding unauthorized materials.

Uploaded by

ilovenodes
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

Topics covered

  • Distribution Management,
  • Software Maintenance,
  • Software Metrics,
  • Software Quality,
  • Software Testing,
  • Agile Development,
  • Automated Calculations,
  • Validation Testing,
  • Software Interfaces,
  • Software Design Patterns

Examination question paper: 2024/25 (MAIN SIT)

Module code: CS6003ES

Component number: 03

Module title: Advanced Software Engineering

Module leader: Dr. Lochandaka Ranathunga

Date: 13th December 2024

Start time: 2.00 pm – 4.00 pm

Duration: 02 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

1
Part A
Select most suitable answer and mark the answers for all the questions.

Q. 1: Which of the following is NOT an essential attribute of a good software?


A. Maintainability
B. Dependability
C. Non volatility
D. Security

Q. 2: Which of the following stage is most related stage for the acceptance test of a
software?
A. Requirement Elicitation
B. Software Maintenance
C. Software Deployment
D. Feasibility analysis

Q. 3: In V Life cycle model, left-hand side and right-hand side can be broadly
categorised into two distinct approaches, those are …
A. Inception and Development
B. Decomposition and Integration
C. Development and Testing
D. Development and Maintenance

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

Q. 5: What is meant by ‘potential usefulness’ in software quality?


A. It represents the applicable use of the software
B. It represents the adaptability of software extensions for the future functions
C. It represents the future demands possible for the software
D. It’s a prediction of the success of the software when it use by the customers

Q. 6: What is meant by Validation Testing?


A. Investigation of hunting bugs
B. Search for the discrepancies of the software
C. Show that the software confirms to its specification
D. Show that the software is working

Q.7: 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

2
Q.8: Which of the following is a feature of an Incremental Development?
A. Cost can change with time
B. Customer feedback collect at the end
C. Complete development followed deployment
D. Iterates through Specification, Development and Validation

Q.9: 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.10: Why Boundary Value Analysis is important in test case specifications?

A. It investigate the behaviour of inputs and outputs at conditional values and around
B. It investigate lower and upper boundaries of an application execution
C. Most programmers do mistakes when representing boundary values
D. Most programmers do mistakes when representing boundary conditions

Q.11: Assume that an algorithm of a program contains 2 conditional statements


(selections), what could be its cyclomatic complexity number?

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

Q.12: Normally, which of the following role perform debugging?

A. Business Analyst
B. Tester
C. Developer
D. Test lead

Q. 13: Why Exhaustive Testing is Impossible?


A. Cost is high
B. People get exhausted
C. Testing is context dependent
D. Testing every possibility is not possible

Q. 14: 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

3
Q. 15: Digital indicator is designed to indicate water states, where equal or below 4oc is to
display as ice and 99 oc above to be indicated as boiling water, otherwise it displays the
temperature. Select the most suitable equivalent partitioned (eqp) input test data set for
temperature in oc.

A. 0,4,30,99
B. 2, 60, 100, 10
C. 4, 50, 99, 100
D. 1, 25, 50, 100

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

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

Q. 17: Which of the following software property effect evolution of the software?

A. Software testability
B. Software Dependability
C. Software Usability
D. Agile process

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: Which of the following present am incident of software quality conflict?


A. Reduction of time leads to deviate from requirements
B. Improving robustness of application may lead to loss of performance
C. Less coverage leads to occurrence of bugs
D. Incomplete requirements lead to have more changes later

(Total Marks – 40 marks)

4
Part B

Answer for 3 questions out of 5 questions.

Question 1

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

Tea factory wishes to implement a software system to store its tea leave collection to manage
the stocks of leaves, payments for the collectors, quality grading, and distribution for
processing. The system records tea leave collections through collection officers which are to be
verified against the collector by the collection manager.

The described system requirements are as follows:


• Software interface needed for entering the leave collection, which is in assistance of
collection officer.
• Form based web interface can cater the collector queries based on dates, amount and
quality of leaves collected.
• In web-based form, it should be able to identify registered users based on their
usernames.
• Collectors can check their collection details by using their ID number though a KIOS.
• Payment officer can see the automated calculations done for the collectors based on the
collections.
• Payments are to be approved by the payment manager based on the recommendations
of the collection manager.
• The distribution manager is able to collate the tea leaves based on the quality type which
were already paid.
• The distribution manager can keep records of distribution of leaves to processing plants.

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.
[5 marks]
c) List hidden requirements of the system.
[5 Marks]
d) Draw a use case diagrams for the software system.
[5 marks]

[TOTAL FOR QUESTION 1: 20 marks]

5
Question 2

a) What are the core principals use in agile software development practices? Describe each.
[5 marks]
b) Briefly describe the release cycle of an Extreme Programming (XP) under the scope of
agile software development practices with an aid of a diagram.
[5 marks]
c) Briefly describe the following XP practices.

Pair Programming, Collective ownership, Continuous Integration (CI) and Continuous


Development( CD), Sustainable pace, On-site customer

[5 x 2 marks]

[TOTAL FOR QUESTION 2: 20 marks]

Question 3

a) What is meant by code reviewing?

[5 marks]

b) What is the importance of Cyclomatic Complexity calculation?


[5 marks]
c) By considering the following function, answer the questions.
int steps = n;
for (int i=0; i<n; i++){
int a = Input int Value;
arr[i] = a;
if (a< 0) {
arr[i] = 0;
exit;
}
}
return arr;
I. Draw a CFG for the above function.
[5 marks]
II. Calculate the Cyclomatic Complexity of above function.
[5 marks]

[TOTAL FOR QUESTION 3: 20 marks]

6
Question 4

a) In the context of Requirements Engineering, how user requirements differ from


system requirements?
[5 marks]
b) What are the main four (4) activities involved in requirement engineering process?
Briefly describe each.
[5 marks]
c) In the context of software review, briefly describe the following review techniques.
Peer Review, Software Walkthrough, Software Inspection

[5 marks]

d) Briefly describe the five core dependability properties of a software.


[5 marks]
[TOTAL FOR QUESTION 4: 20 marks]

Question 5

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


(i) Work Breakdown Structure
(ii) Critical Task
[2x2 marks]
b) Illustrate a network diagram for the following activities using a standard diagrammatic
technique.
[10 marks]
Activity Duration (weeks) Dependencies
a 4 none
b 5 none
c 4 a, b
d 5 a, b
e 3 c
f 2 c, d
g 2 d
h 2 e, f
i 2 h
Table Number (01)
(i) Write the critical path of the above network diagram with the duration.
(ii) Find the slack time available for the activity g of table (01).
[2 x 3 marks]

[TOTAL FOR QUESTION 5: 20 marks]


7

Common questions

Powered by AI

Hidden requirements influence the development process by encompassing needs and constraints not explicitly specified in the initial documentation but critical for system functionality and user satisfaction. Identifying them is pivotal to ensuring a complete and functional system, preventing costly changes later on, and bridging gaps between user expectations and delivered features .

Non-functional requirements encompass attributes such as performance, usability, reliability, and security, shaping the 'how' aspect of system operations. They complement functional requirements by influencing how the system's functionality is implemented and perceived by users, ensuring that the system meets broader organizational and user expectations beyond basic functionality .

Boundary Value Analysis is crucial because it focuses on the edges or boundaries of input ranges, where errors are most likely to occur. By concentrating on boundary conditions, this technique helps in identifying discrepancies and potential bugs when the software processes extreme input values, making it a cost-effective strategy for error detection in test case specifications .

Cyclomatic Complexity is a key measure of a program's control flow complexity, indicating the number of linearly independent paths through the program's source code. It helps in understanding the program's maintainability and testing effort required. It is calculated using the formula 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 release cycle in Extreme Programming (XP) supports agile development by dividing work into small, manageable iterations with frequent releases. Key XP practices such as Pair Programming, Collective Ownership, Continuous Integration (CI), Sustainable Pace, and active stakeholder involvement ensure code is continually improved, aligned with user needs, and ready for quick adaptation to change. These practices emphasize teamwork, fast feedback loops, and maintaining code quality from the start .

Risk Management in software projects involves a systematic approach to identifying, assessing, and mitigating risks to minimize negative impacts on the project. Essential stages include risk identification, risk planning, risk monitoring, and risk mitigation; each stage is crucial in ensuring that potential issues are addressed proactively, thereby safeguarding project objectives and timelines .

The V Life Cycle Model clearly delineates between the development activities and the testing activities, mapping each stage of development directly to a corresponding testing phase. The left-hand side of the 'V' represents development activities such as analysis and design, while the right-hand side represents validation, verification, and testing activities, emphasizing a comprehensive and integrated approach .

"Potential usefulness" in software quality evaluation refers to the predicted success of the software in meeting future user demands and incorporating feasible extensions. It assesses how adaptable and scalable the software is in evolving environments, ensuring longevity and relevance in dynamic user and market conditions .

Exhaustive Testing is not feasible in scenarios where the software has an immense number of input combinations, making it impossible to test every possible state. The limitations that make this impractical include the extremely high cost and time requirements, as well as the context-dependent nature of testing, which means only the most critical paths can be covered within reasonable resource constraints .

The Waterfall model requires the least user involvement throughout its process compared to more iterative and flexible models like Agile and RAD. This lack of continuous feedback can lead to a final product that does not meet user needs if requirements were misunderstood initially, limiting its adaptability to changes during development .

You might also like