ISEN1000 Introduction to Software Engineering Trimester 1, 2023
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
ISEN1000 Introduction to Software
Engineering Trimester 1, 2023
Exercise Submission 2
Weight: 40% of the unit
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.
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 M, N, O, 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 “F” by week 20 and all dependencies of “F” . 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 “F” 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 software:
1. Vehicle manufacturing and industrial processes.
2. Human Resources Management.
3. Online application for selling homemade goods.
Select any two of the above applications and
A. Identify at least three stakeholders and three actors for each application (human/nonhuman). (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.
• Use the git repository and version control for this question.
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 code folder Q3PartA.py).
A function takes two integer inputs (num1, num2), and returns what percentage the first number is ofthe second. The basic requirement is, if num2 is greater than num1, the result is the percentage of num1 out of num2. The numbers must also be greater than 0. if the numbers do not meet the basic requirement, - 1 is returned. |
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 code folder Q3PartB.py)
A function that takes an integer representing the core temperature of a nuclear reactor and returns a string representing the appropriate warning message. If the temperature is below 300 degrees, a danger message should be returned, if the temperature is between 300 and 650, a warning message should be displayed. For temperatures between 650 and 800, the reactor is operating in the standard range, from 800 to 950. If the reactor temperature is above 950 but below 1100, then a warning message should be returned and any temperatures above 1100 are considered dangerous. |
C. Consider the following python code for a guessing game, develop a test
design for white box testing. (7 marks) [Production code is provided with question (see code 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.]
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. Use the git repository and version control for this question.
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 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)
C. Use version control to put all files initial and refactored file, making sure to meet the basic functions after refactoring (code running after refactoring) (3 marks) [provide the git repository and online git link (if uploaded to global repository i.e., online), Name repository as: studentID_Exercise2_ISE]
Question 5: Ethics and Professionalism [Total Marks: 15]
For each of the following sets of software systems:
• Pick one of the systems listed.
• Pick one general area of software engineering from among the following: planning, functional requirements, non-functional requirements, project management, and testing.
(Your choice here should be different for parts A, B and C)
• Describe a specific way in which a lack of professional conduct in this area, for this system, could lead to a harmful outcome.
Note: marks for this question will depend on the specificity (degree of detail) and plausibility of your answers. You will not receive marks for rewriting examples already given in the unit material.
A. Pick one from the following: (5 marks)
a. A mobile phone GPS maps app
b. A diary and mood tracking app
c. An advertising delivery platform
B. Pick one from the following: (5 marks)
a. An AI Research project
b. A Programming Q&A website
c. A financial accounting system
C. Pick one form the following: (5 marks)
a. A video game
b. An online retail store
c. A virtual reality-based social network
Submission Guide
Consider following for submission for this assessment
1. Main word/Pdf document consisting of answers for all questions (i.e., report)
2. Submit all figures, image, screenshots, graphs, and charts
3. Submit all production and test cases, also git repository (both local, global (if any, as link of repo))
Use of Git VCS
Make one folder for complete assessment, put everything in that folder and initiate a git repository in the same folder. Add (stage) all files (specifically codes), make commits when required (specifically for code). Zip/compress the main folder including all files and git repository and submit the zip/compressed file on Moodle page.
Academic Integrity
Please see the Coding and Academic Integrity Guidelines on unit Moodle page.
In summary, this is an assessable task. If you use someone else’s work or assistance to help complete part of the assignment, where it’s intended that you complete it yourself, you will have compromised the assessment. You will not receive marks for any parts of your submission that are not your own original work. Further, if you do not reference any external sources that you use, you are committing plagiarism and/or collusion, and penalties for academic misconduct may apply.
Curtin college also provides general advice on academic integrity at
https://www.curtincollege.edu.au/content/dam/navitas/upa/curtin/pdfs/academic- integritypolicy.pdf
The unit coordinator may require you to provide an oral justification of, or to answer questions about, any piece of written work submitted in this unit. Your response(s) may be referred to as evidence in an academic misconduct inquiry.
2023-06-05