Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ISEN1000 Introduction to Software Engineering

Trimester 2, 2022

Exercise Submission 2

Question 1: Planning, and Agile Software Project Management [Total

Marks: 20]

Consider the following (Fig. 1) 13 nodes AON and along with the Table 1 project descriptions.




Fig. 1: 12 Nodes AON


Table 1: AON Graph Description

Sr.

Task

Estimated Duration

(weeks)

Dependencies

1.

A

5

-

2.

B

3

-

3.

C

7

-

4.

D

15

-

5.

E

7

-

6.

F

3

-

7.

G

5

-

8.

H

6

-

9.

I

8

-

10.

J

9

-

11.

K

4

-

12.

L

2

-

13.

M

1

-

A.  List the missing dependencies in Table 1. (1 mark)

B.  Estimate the Early Start (ES), Late Start (LS), Early Finish (EF) and Late Finish (LF) for each task in the AON, present your answer in a tabular form. (2 marks)

C.  Find out the task(s) which have slack time, and clearly mention the slack time of each identified task in tabular format. (2 marks)

D.  Show your complete working (make a PERT chart) on estimation of overall optimistic project duration, along with critical path estimation. (2 marks)

E.  You project is in at week 9 and you are using Scrum based project management, there is a sprint in 2 weeks, where client wants to add three activities (say N, O, P, in WBS) as backlog, what necessary action would you consider in this case, and describe the    responsibilities of each team to deal with the situation (4 marks)

F.  You has completed activity “H” by week 20 and all dependencies of “H” . However, all other activities are not complete. Estimate actual performance on the Burn-up     Chart and describe the overall project progress in text. (4 marks)

G.  Show a Kanban Board when both

1.   “G” and “H” are under review and “I” and “J” are done/completed with all their dependencies. (3 marks)

2.   When activity “K” and “L” are under review. (2 marks)

Question 2: Functional and Non-functional requirements [Total Marks: 20] Consider the following applications need to be automated with the help of a software:

1.   Online baking application.

2.   Mobile application for weather updates.

3.   Online application for rental accommodation booking.

Select any two of the above applications and

A.  Identify at least three stakeholders and three actors for each application (human/non- human). (3 marks)

B.  Write one user story for each identified actor for (particular application). The user stories should be significantly different from each other. (3 marks)

C.  Pick any two user stories from part B and give a full use case description for the  selected user stories (considering them as functional requirements). The use cases must include at least 2 extensions for each use case. (6 marks)

D.  Identify which one would be the best reliability metric (MTTF, MTBF, ROCOF,         POFOD or Availability) for each identified user story in part B. Justify you answer by providing reason of selection. (4 marks)

E.  Identify 3 usability requirement for 3 user stories (select any 3, from part B) (4 marks)

Question 3: Unit Testing [Total Marks: 25]

*Following considerations should be made while answering this question

Name the file (python file) appropriately e.g., “MyCalculator.py” (for a calculator

software)

Name the functions appropriately e.g., “MySum” (for sum operation) All code should be executable on college provided VMWare based Linux

environment.

This question uses the git repository follow the guidelines.

A.  Design a black box test (making table for all test cases) for the Equivalence Partitioning testing and write equivalent Python based test code. (7 marks) [submit the test code as python files]-Production code provided (see codes folder Q3PartA.py).

A function takes four integer inputs (num1, num2, num3, num4), and returns the mean four numbers if the numbers meet the basic requirement and - 1 otherwise. The basic requirement is, if num1 is grater then num2 and num3 is

greater than or equal to num4, the result is mean of all number.

B. Design a test for the following for the Boundary Values Analysis (BVA) testing and write equivalent Python based test code. (5 marks) [submit test code as python files] - Production code provided (see codes folder Q3PartB.py)

A function estimates the eligibility for COVID vaccine based on the entered age (integer value) of individuals. If the age is less than 6 the output will be Not Eligible for age 6 to 12 shows Eligible for 1 dose for age up to 16 Eligible for 2 doses”, for age up to 25 Eligible for 3 doses for age up to 45 “Eligible for optional dose for age up to 60 output is Must take optional dose for age up to 85 output will be See your GP for eligibility . For any invalid age ranges

(e.g., <0 or >85) system shows an output Invalid age .

C. Consider the following python code to find the median of 3 numbers, develop a test design for white box testing. (7 marks) [Production code is provided with question (see codes folder Q3PartC.py), submit both test code and edited code (if any)]

D. Implement your test design in parts A, B and C using python (unittest) modules, run show the screenshots in the report and submit the implemented python codes. (6 marks) [ Hint:

Convert the codes in class-based implementation.]

*The online uploaded codes should be a private repository.


Question 4: Modularity [Total Marks: 20]

*Consider the provided code file (Q4.py) with the exercise document and perform the         following on the provided code.  This question uses the git repository follow the guidelines.

A.  Identify the modularity issues in all functions, list (make a table, see example       below) the function name, identified issue, category of issue, comments on how it is an issue, proposed solution. (5 marks)

Table 2: Example details expected

Sr.

Function

name

Identified

issue

Category of issue

Comments

Proposed

Solution

1.

Func_ 1

Global variables used

Coupling

issue

The global variables increase the dependency of Func1 and Func3

Remove global variables by parameters

A.  Demonstrate how the flag(s) used in the code provided are affecting the modularity, what specific kind issues are introduced using flag(s) in the code. (5 marks)

B.  Refactor the code provided by remove the modularity issues identified in part A.  change all functions and function calls in main function and other functions in the code. (7 marks)