Uploaded by princenyikadzino118

PNZ-SOFTWARE ENG-ASS2

advertisement
ZQMS-ARC-REC-002
ASSIGNMENT COVER
REGION: HARARE
SEMESTER: 1
YEAR: 2023
PROGRAMME: BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY HONOURS
INTAK E: FEBRUARY
FULL NAME OF STUDEN T: PRINCE NYIKADZINO
PIN: P2285746Y
EMAIL ADDRESS: princenyikadzino118@gmail.com
CONTACT TELEPHONE/CELL:0774640728/ 0716297059
COURSE NAME: SOFTWARE ENGINEERING
ASSIGNMENT NO e.g. 1 or 2: 1
COURSE CODE: BSEH141
STUDENT’S SIGNATURE:
DUE DATE: 28 APRIL 2023
ASSIGNMENT TITLE:
ID. NO: 63-2022886X27
SUBMISSION DATE: 25 APRIL 2023
ASSIGNMENT 2
Instructions
Marks will be awarded for good presentation and thoroughness in your approach.
NO marks will be awarded for the entire assignment if any part of it is found to be copied directly
from printed materials or from another student.
Complete this cover and attach it to your assignment. Insert your scanned signature.
Student declaration
I declare that:
 I understand what is meant by plagiarism
 The implications of plagiarism have been explained to me by the institution
 This assignment is all my own work and I have acknowledged any use of the published or
unpublished works of other people.
MARK ER’S COMMEN TS:
OVERALL MARK:
MARK ER’S SIGNATURE:
MARK ER’S NAME:
DATE:
Question 1
Define these terms
User requirements: [5]
-This requirement consists of statements of the services that the system should provide
and the constraints of the system. Usually, it is stated using natural language and
diagrams.
- The user requirements should be written for users who do not have a detailed technical
knowledge of the system like client and contract manager.
- User requirements much like user stories highlight the ways in which customers interact
with software.
- A user requirement in that mold for the industrial laser marking software example looks
like:
"The production floor manager shall be able to upload new marking files as needed in
order to maintain a current and complete library of laser marking images for production
use."
System requirements: [5]
-This requirement will describe the system services in detail. The system requirement is
also known as functional specification and it should be prepared precisely. In the end, it
may serve as a contract between the system buyer and software developer.
-The system requirements specification should be targeted at senior technical staff and
project managers.
-System requirements are the configuration that a system must have in order for a
hardware or software application to run smoothly and efficiently. Failure to meet these
requirements can result in installation problems or performance problems. The former
may prevent a device or application from getting installed, whereas the latter may cause a
product to malfunction or perform below expectation or even to hang or crash.
Software design specification: [5]
- This document consists of abstract description of the software design and later will be
used for more detailed design and implementation. This document is the enhancement of
the system requirements specification.
-Software design specification is an implementation-oriented document and it is meant
for the software engineers who will develop the system.
-A software design document is sometimes called software design specification is a
detailed plan for developing a piece of software. An SDD should outline the finished
software’s functionality (specs) and your team’s plans to build it (timeline, goals, etc.)
Context diagram: [5]
- A context diagram is a high-level view of a system.
- It’s a basic sketch meant to define an entity based on its scope, boundaries, and relation
to external components like stakeholders.
- A context diagram provides a general overview of a process, focusing on its interaction
with outside elements rather than its internal sub-processes. The latter is typically
reserved for more advanced data flow diagrams.
- Elements of a context diagram include:
i. Product
ii. External entities or agents
iii. Flow lines
Question 2
What are the purposes of using Gantt chart and Network chart to manage software
development? [20]
Gantt chart
-Is a chart where a depiction of a project. The activities are shown in parallel, with the
degree of completion indicated by a colour or icon.
-The chart helps the project manager to understand which activities can be performed
concurrently and also to see which items are on the critical path.
- The purpose of a gantt chart is to equip you with the tools you need to oversee every
aspect of your project. You can use a gantt chart to schedule, assign, and track project
tasks from kick-off to completion. Its horizontal structure makes it easy to see how work
stacks up over time so you can actively monitor progress along the way. So why is a gantt
chart important in project management? It puts the plan at the centre of your project. And
when your plan’s at the centre, everyone knows what to expect and what it will take to
deliver the project on time and budget.
Benefits of using a Gantt chart in project management
1. Always know what is going on in your projects
- Project managers have a basic need: complete knowledge of a project’s timeline. Using
a gantt chart is the best response to this need. Creating a gantt chart provides a total
overview of the project from start to finish, the members involved in each step, and all
the tasks required to complete the project. Once project’s gantt chart is complete, you
now have a grip on the project. You can see it and visualize the steps to completion.
2. Easily communicate the project plan with your team
- Communication is critical in project management, and that is one of the biggest
advantages of gantt charts crystal clear project communication. If everyone can see the
project’s gantt chart, then everyone can be on the same page by setting clear task dates
and important project milestones.
3. Prevent resource overload
- Within a gantt chart, you can delegate tasks to different people and align team resources
without overloading people in the process. When resources are properly managed, a
project is more likely to be completed on time.
4. Track the progress of your project
- Once you schedule your project in a gantt chart, you have the ability to check in and see
how the project is progressing. Gantt charts are useful because everyone on your project
can update the percent complete of each of their tasks. This provides a quick view of how
far behind or (in a rare case) ahead of schedule your project is.
5. Free up brain space
- Once you have a plan in a gantt chart, you can start working towards getting tasks done.
There’s no need to stress about remembering the next steps, who's doing what, or what
may have been forgotten. Everything is in the gantt chart. You can now focus your
precious time, effort, and brainpower on actual work.
6. Give your team more clarity and motivation
- Members of a project can see when they need to get their tasks done. They can also see
if future tasks depend on them. When others see exactly what their role is in a project and
how others depend on them, it provides real motivation!
Network chart
Question 3
Using your own knowledge of how an ATM is used, develop a set of usecases that could be
used to derive the requirements for an ATM system
[20]
System Start-up Use Case
- The system is started up when the operator turns the operator switch to the "on"
position. The operator will be asked to enter the amount of money currently in the cash
dispenser, and a connection to the bank will be established. Then the servicing of
customers can begin.
System Shutdown Use Case
-The system is shut down when the operator makes sure that no customer is using the
machine, and then turns the operator switch to the "off" position. The connection to the
bank will be shut down. Then the operator is free to remove deposited envelopes,
replenish cash and paper, etc.
Session Use Case
- A session is started when a customer inserts an ATM card into the card reader slot of
the machine. The ATM pulls the card into the machine and reads it. (If the reader cannot
read the card due to improper insertion or a damaged stripe, the card is ejected, an error
screen is displayed, and the session is aborted.) The customer is asked to enter his/her
PIN, and is then allowed to perform one or more transactions, choosing from a menu of
possible types of transaction in each case. After each transaction, the customer is asked
whether he/she would like to perform another. When the customer is through performing
transactions, the card is ejected from the machine and the session ends. If a transaction is
aborted due to too many invalid PIN entries, the session is also aborted, with the card
being retained in the machine. The customer may abort the session by pressing the
Cancel key when entering a PIN or choosing a transaction type.
Transaction Use Case
- Transaction is an abstract generalization. Each specific concrete type of transaction
implements certain operations in the appropriate way. The flow of events given here
describes the behaviour common to all types of transaction. The flows of events for the
individual types of transaction (withdrawal, deposit, transfer, inquiry) give the features
that are specific to that type of transaction.
- A transaction use case is started within a session when the customer chooses a
transaction type from a menu of options. The customer will be asked to furnish
appropriate details (e.g. account(s) involved, amount). The transaction will then be sent to
the bank, along with information from the customer's card and the PIN the customer
entered.
- If the bank approves the transaction, any steps needed to complete the transaction (e.g.
dispensing cash or accepting an envelope) will be performed, and then a receipt will be
printed. Then the customer will be asked whether he/she wishes to do another transaction.
- If the bank reports that the customer's PIN is invalid, the Invalid PIN extension will be
performed and then an attempt will be made to continue the transaction. If the customer's
card is retained due to too many invalid PINs, the transaction will be aborted, and the
customer will not be offered the option of doing another.
- If a transaction is cancelled by the customer, or fails for any reason other than repeated
entries of an invalid PIN, a screen will be displayed informing the customer of the reason
for the failure of the transaction, and then the customer will be offered the opportunity to
do another.
- The customer may cancel a transaction by pressing the Cancel key as described for each
individual type of transaction below. All messages to the bank and responses back are
recorded in the ATM's log.
Withdrawal Transaction Use Case
- A withdrawal transaction asks the customer to choose a type of account to withdraw
from (e.g. checking) from a menu of possible accounts, and to choose a dollar amount
from a menu of possible amounts. The system verifies that it has sufficient money on
hand to satisfy the request before sending the transaction to the bank. (If not, the
customer is informed and asked to enter a different amount.) If the transaction is
approved by the bank, the appropriate amount of cash is dispensed by the machine before
it issues a receipt. (The dispensing of cash is also recorded in the ATM's log.) A
withdrawal transaction can be cancelled by the customer pressing the Cancel key any
time prior to choosing the dollar amount.
Deposit Transaction Use Case
- A deposit transaction asks the customer to choose a type of account to deposit to (e.g.
checking) from a menu of possible accounts, and to type in a dollar amount on the
keyboard. The transaction is initially sent to the bank to verify that the ATM can accept a
deposit from this customer to this account. If the transaction is approved, the machine
accepts an envelope from the customer containing cash and/or checks before it issues a
receipt. Once the envelope has been received, a second message is sent to the bank, to
confirm that the bank can credit the customer's account - contingent on manual
verification of the deposit envelope contents by an operator later. (The receipt of an
envelope is also recorded in the ATM's log.) A deposit transaction can be cancelled by
the customer pressing the Cancel key any time prior to inserting the envelope containing
the deposit. The transaction is automatically cancelled if the customer fails to insert the
envelope containing the deposit within a reasonable period of time after being asked to do
so.
Transfer Transaction Use Case
- A transfer transaction asks the customer to choose a type of account to transfer from
(e.g. checking) from a menu of possible accounts, to choose a different account to
transfer to, and to type in a dollar amount on the keyboard. No further action is required
once the transaction is approved by the bank before printing the receipt. A transfer
transaction can be cancelled by the customer pressing the Cancel key any time prior to
entering a dollar amount.
Inquiry Transaction Use Case
- An inquiry transaction asks the customer to choose a type of account to inquire about
from a menu of possible accounts. No further action is required once the transaction is
approved by the bank before printing the receipt. An inquiry transaction can be cancelled
by the customer pressing the Cancel key any time prior to choosing the account to inquire
about.
Invalid PIN Extension
- An invalid PIN extension is started from within a transaction when the bank reports that
the customer's transaction is disapproved due to an invalid PIN. The customer is required
to re-enter the PIN and the original request is sent to the bank again. If the bank now
approves the transaction, or disapproves it for some other reason, the original use case is
continued; otherwise the process of re-entering the PIN is repeated. Once the PIN is
successfully re-entered, it is used for both the current transaction and all subsequent
transactions in the session. If the customer fails three times to enter the correct PIN, the
card is permanently retained, a screen is displayed informing the customer of this and
suggesting he/she contact the bank, and the entire customer session is aborted.
- If the customer presses Cancel instead of re-entering a PIN, the original transaction is
cancelled. An automated teller machine (ATM) or the automatic banking machine
(ABM) is a banking subsystem (subject) that provides bank customers with access to
financial transactions in a public space without the need for a cashier, clerk, or bank
teller.
Customer (actor) uses bank ATM to Check Balances of his/her bank accounts, Deposit Funds,
Withdraw Cash and/or Transfer Funds (use cases). ATM Technician provides Maintenance and
Repairs. All these use cases also involve Bank actor whether it is related to customer transactions
or to the ATM servicing.
Question 4
a) Discuss the differences between verification and validation, and explain why
validation is a particularly difficult process?
[10]
VERIFICATION
- It is a process of checking
if a product is developed as
per the specifications.
VALIDATION
- It is a process of ensuring
Definition
that the product meets the
needs and expectations of
stakeholders.
- It tests the usability,
What it tests or checks for - It tests the requirements,
architecture, design, and
functionalities, and
code of the software
reliability of the end
product.
product.
- It does not require
- It emphasizes executing
Coding requirement
executing the code.
the code to test the usability
and functionality of the end
product.
- A few activities involved
- The commonly-used
Activities include
in verification testing are
validation activities in
requirements verification,
software testing are
design verification, and code usability testing,
verification.
performance testing, system
testing, security testing, and
functionality testing.
- A few verification methods - A few widely-used
Types of testing methods
are inspection, code review, validation methods are
desk-checking, and
black box testing, white box
Teams or persons
involved
walkthroughs.
testing, integration testing,
and acceptance testing.
- The Quality Assurance
(QA) team would be
engaged in the verification
process.
- The software testing team
along with the QA team
would be engaged in the
validation process.
Why validation is a particularly difficult process?
-Validation checks the software after the software is ready and the development process is
completed. In this process, we check that the software that has been developed meet the
requirement of the customer and their expectations. By this, the validation process becomes
more complicated than verification.
Explain how the V-Model is used in verification and validation.
[10]
- The V-model is an SDLC model where execution of processes happens in a sequential
manner in a V-shape. It is also known as Verification and Validation model.
- The V-Model is an extension of the waterfall model and is based on the association of a
testing phase for each corresponding development stage. This means that for every single
phase in the development cycle, there is a directly associated testing phase. This is a
highly-disciplined model and the next phase starts only after completion of the previous
phase.
- Software testing is one of the most complex yet fulfilling tasks involved in the
development process. At every stage of development from unit testing through to User
Acceptance Testing the same processes and techniques are used. The purpose of software
testing is the validation and verification of the software, normally illustrated by using the
V-model.
- Verification means ensuring that the software has been built correctly. The colloquial
definition is “Are we building the product right“.
- Validation means ensuring that the software meets the requirements, both the stated and
implied. The colloquial definition is “Are we building the right product“.
- Under the V-Model, the corresponding testing phase of the development phase is
planned in parallel. So, there are Verification phases on one side of the ‘V’ and
Validation phases on the other side. The Coding Phase joins the two sides of the VModel.
Question 5
Filling the car
Activity
A
Description
arrive at forecourt
Preceding Activity
-
Duration (secs)
4
B
C
D
E
F
G
H
I
K
L
open bonnet
check oil
remove filter cap
select type of petrol
serve petrol
replace filter cap
pay for petrol and buy oil
put oil in car
close bonnet
drive off
A
B
A
A
D, E
F
C, F
H
J
G, K
3
2
8
6
5
2
3
4
3
5
a) Draw a network diagram
b) Determine the critical path
c) Calculate the total cost of the job given that cost per second is 65cents
[13]
[4]
[3]
Download