ISEN1000 Introduction to Software Engineering Trimester 2, 2022
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)
2022-09-12