You are on page 1of 32

Bachelor of Electrical and

Electronics Engineering Year 3 -


Evening (BEEE3E) – Honours

Lesson 3: Software Process and Other


models
Introduction to Software Engineering (ISE-311)

Prepared by:
T. Chadza, Lecturer in Telecommunications
School of Engineering – Department of Electrical Engineering
Malawi University of Business and Applied Sciences (MUBAS)
Last Lesson
In the last lesson, we
• explained the software life cycle activities
types;
• discussed the typical software documents that
can be produced when developing software;
and
• described the main software life cycle models.

2/24/2022 TChadza2022 2
Intended learning outcomes
• By the end of this lesson, the student should
be able to describe the software process and
other models

2/24/2022 TChadza2022 3
References

Masi,F, 2022. Introduction to Software Engineering. Blantyre

2/24/2022 TChadza2022 4
Outline
• Introduction
• Process and project
• Software process model
• Data flow diagrams
• Petri models
• Software engineering projects
• Summary
• Next lesson

2/24/2022 TChadza2022 5
Introduction
• Software engineering (SE) focuses on
processes
• Many other computing disciplines focus on
some type of product—operating systems,
databases, etc.
– software engineering focuses on the process for
producing the products.

2/24/2022 TChadza2022 6
Process and Project
• A process is a sequence of steps performed for a
given purpose
• Industrial strength software aims to develop
software to satisfy the needs of users or clients
– A software project is one instance of this problem,
and the development process achieves this purpose.
• A process model specifies a general process,
which is “optimum” for a class of projects.

2/24/2022 TChadza2022 7
Software Process Model
• A software process model (SPM) describes the processes
that are done to achieve software development.
• SPM usually includes:
– Tasks
– Artifacts (files, data, etc.): by-product of software development.
– Actors
– Decisions (optional)
• Notations used can vary but standard SPM uses:
– Ovals for tasks and processes.
– Rectangles for artifacts
– Stick figures for actors

2/24/2022 TChadza2022 8
• Many SPMs do not include decisions.
– diamonds are used to show decisions.
• Flow is shown by arcs and is usually left-to-
right and top-down
– Arcs are normally not labeled.

2/24/2022 TChadza2022 9
Rules and interpretations for correct process models:
• Two tasks cannot be connected by an arc.
– Tasks must be separated by artifacts.
• A task is not executable until its input artifacts exist.
• There are one or more start tasks and one or more
terminal tasks.
• All tasks must be reachable from the start task.
• There is a path from every task to the terminal task.

2/24/2022 TChadza2022 10
• SPMs can be:
– Pescriptive:
• describe what has happened in a development project.
• created as part of a postmortem analysis of a project
• identifies problems in the software development process.
– Prescriptive:
• describe what is supposed to happen.
• describe the standard software development process
• can be used as training tools for new hires, for reference for
uncommon occurrences, and for documenting what is
supposed to be happening.

2/24/2022 TChadza2022 11
Figure: A process model for unit testing software.
• There are two actors: the tester and the team leader.
• Unit tester is responsible for the unit testing.
• Unit tester uses the source code and the test plan to accomplish the unit testing.
• The result of this activity is an artifact, the test results.
• The team leader reviews the test results, and the result of this activity should be
the approval of the unit testing.
• Model does not explicitly show what happens when the unsuccessful.
– It could be inferred that the unit tester keeps testing until he or she is happy.
• Similarly, if the team leader is not ready to give the approval, then the process may
be backed up to redo the unit testing.

2/24/2022 TChadza2022 12
Example: Draw the process model showing decisions.

• Adding decisions allows the process model to be more


explicit about what happens in all circumstances

2/24/2022 TChadza2022 13
Data Flow Diagrams
• One of the most basic diagrams in software
development
• A data flow diagram shows the flow of the data
among a set of components.
– components may be tasks, software components, or
even abstractions of the functionality that will be
included in the software system.
– actors are not included
– sequence of actions can often be inferred from the
sequence of activity boxes.

2/24/2022 TChadza2022 14
Rules and interpretations for correct DFDs:
• Boxes are processes and must be verb phrases.
• Arcs represent data and must be labelled with noun
phrases.
• Control is not shown
– Some sequencing may be inferred from the ordering.
• A process may be a one-time activity, or it may imply a
continuous processing.
• Two arcs coming out a box may indicate that both
outputs are produced or that one or the other is
produced.

2/24/2022 TChadza2022 15
• Figure illustrates some of the rules.
– phrases within the boxes are verb phrases. They represent
actions.
– Each arrow/line is labeled with a noun phrase that
represents some artifact.
• The data flow diagram does not show decisions
explicitly.
• The example shows that the results of testing can
influence further testing and that the results of the test
review action can also affect the testing (or retesting).

2/24/2022 TChadza2022 16
Example
• Draw a DFD for the calculation of the
mathematical formula (x+y)*(w+z)

2/24/2022 TChadza2022 17
• Solution

2/24/2022 TChadza2022 18
Petri Models

2/24/2022 TChadza2022 19
• Basic petri net model consists of condition nodes,
arcs, event nodes, and tokens.
• If the input condition nodes for an event node all
have tokens, then the event can fire, the tokens
are removed from the input nodes, and tokens
are placed on all of the output nodes of the firing
position.
• The condition nodes are usually represented by
circles and the event nodes by horizontal lines or
rectangles.
2/24/2022 TChadza2022 20
• condition nodes usually represent some required
condition—for instance, the existence of a test
plan.
• A token at the condition means that the condition
is met.
• An event node (the horizontal line) represents an
event that can happen (fire) when all the
requirements are met (tokens in all the condition
nodes).
• Tokens are then placed at all the condition nodes
that follow the event.
2/24/2022 TChadza2022 21
Reading Assignment

2/24/2022 TChadza2022 22
Software Engineering Projects
• Hospital Management System
• Library Management System
• Management System for Employee
• MUBAS Project Database
• Bus Reservation System-BetaCoaches
• Banking System

2/24/2022 TChadza2022 23
Hospital Management System Project
• The main function of this project is to implement
software for the hospital management system.
This system is applicable in small private hospitals
especially for the people who use the files to
store the data rather than storing in a database
otherwise excel programming software.
• This system includes software to handle different
clinic workflows directions. It controls the
performance of the smooth healthcare with
medical, administrative an financial.

2/24/2022 TChadza2022 24
Library Management System
• This is a software engineering project which is
used to provide automation to the library. This
system assists a librarian to manage the books
in the libraries. This system provides some
features to update the members, books,
searching books, returning books, searching
members, etc. The software used in this
system is used for controlling and monitoring
library transactions. This project provides us
the whole data of the library.
2/24/2022 TChadza2022 25
Management System for Employee
• Generally, in large companies, managing employs is very difficult
task so it is very challenging to manage their activities by the HR
efficiently. To overcome this, the employee management system is
implemented to manage everything associated with the company.
• This project implements a system like a management system for an
employee. By using this project, all the company-related
information can be consolidated by HR. This system includes two
main components like employee and admin.
• The Admin is responsible for the whole company information, like
payroll, leave management & can also include employee details.
Similarly, every employee can utilize this system to verify the details
of salary, leave status, holiday calendar, etc.

2/24/2022 TChadza2022 26
MUBAS Project Database
• Students at the Malawi University of Business and Applied
Sciences (MUBAS) do conduct final year projects in their 5th
year. For years all these projects have been stored at the
library in hardcopy format as well softcopy version shared
to the individual lecturers. This has made it hard to keep
track on the progress of the projects as years have passed.
Also students tend to repeat projects with exact
requirements that their colleagues did because they have
no database of previous projects done.
• The goal of this project is to design and plan the
development of this system. The system should be the likes
of GitHub. Where students can search projects easily and
even download projects documentation.

2/24/2022 TChadza2022 27
Bus Reservation System-BetaCoaches
• The system is designed to automate online ticket
purchasing through an easy-to-use online bus
booking system. Embed our online bus ticketing
system into your website and enable your
customers to book tickets for various routes and
destinations. With the bus ticket reservation
system, you can manage reservations, client data,
and passenger lists. You can also schedule routes,
set seat availability, upload an interactive seat
map, and let customers select their seats.

2/24/2022 TChadza2022 28
Banking System
• The software engineering project like the banking system is
a very essential project in the banking sector to store the
account information and also banking transactions within
the database. This banking system application also adds
new customer details. By using this project, data searching
can be done very fast in less time. By using this software,
clerical work can be reduced almost.
• This software allows quick transactions of creating a new
account for the customer, cash withdrawal from the user
account, cash deposit into the account, account balance
checking for the account holder even if there is huge data
within the database. This project provides user-friendly,
fast, reliable, efficient interfaces for banking. So there is no
chance of losing the customers data

2/24/2022 TChadza2022 29
Summary
In this lesson, we have:
• explained the concept of process and project
• Described the software process model
• Discussed the data flow diagrams
• Introduced the Petri models

2/24/2022 TChadza2022 30
Next Lesson
• In the next lesson, we will discuss the
software project management

2/24/2022 TChadza2022 31
Thank you!
Src: IFC 2002

2/24/2022 TChadza2022 32

You might also like