Chapter 5 Software Quality Assurance and Security
Chapter 5 Software Quality Assurance and Security
Software Engineering
Editor :- Mr. Shinde M.B
MM Polytechnic, Pune Department of Computer Engineering
Contents
1 Project Scheduling:- 2
1.1 Project Scheduling Principles:- . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Work Breakdown Structure:- . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Activity Network:- . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Project Scheduling Techniques:- . . . . . . . . . . . . . . . . . . . . . 6
1.5 Difference Between PERT and CPM . . . . . . . . . . . . . . . . . . 13
2 Project Tracking:- 13
2.1 Timeline Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 How to make a timeline chart . . . . . . . . . . . . . . . . . . 14
2.1.2 Gantt chart:- . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Earned Value Analysis:- . . . . . . . . . . . . . . . . . . . . . . . . . 16
6 software security. 26
6.1 DevOps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1
MM Polytechnic, Pune Department of Computer Engineering
1 Project Scheduling:-
1. Scheduling in project management is the listing of activities, deliverable, and
milestones within a project.
2. A schedule also usually includes the planned start and finish date, duration,
and resources assigned to each activity.
3. Effective project scheduling is a critical component of successful time manage-
ment.
4. Software project scheduling can be defined as an activity that distributes the
estimated effort across the planned project duration by allocating the effort to
specific software engineering tasks.
5. Simply one can say that project schedule is a tool which communicates What
works has to be performed, Who will perform the work and Time duration
within which that work needs to be completed.
6. The project schedule is the mechanism that communicates what work needs to
be performed, which resources of the organization will perform the work and
the time frames in which that work needs to be performed.
7. The project schedule should reflect all of the work associated with delivering
the project on time.
8. Without a full and complete schedule, the project manager will be unable to
communicate the complete effort, in terms of cost and resources, necessary to
deliver the project.
9. Project Scheduling in a project refers to roadmap of all activities to be done
with specified order and within time slot allotted to each activity.
10. Project managers tend to define various tasks, and project milestones and
arrange them keeping various factors in mind.
11. They look for tasks lie in critical path in the schedule, which are necessary
to complete in specific manner (because of task interdependency) and strictly
within the time allocated.
12. Arrangement of tasks which lies out of critical path are less likely to impact
over all schedule of the project.
2
MM Polytechnic, Pune Department of Computer Engineering
1. Modulation :
A given software project is divided into a number of manageable activities.
The project is divided into a number of small tasks.
2. Interdependancy :
Interdependent tasks are accomplished first. Certain tasks occur in sequence
whereas other tasks occur in parallel. Therefore tasks which occur in sequence
has to be performed in a sequential order since the output of one task will be
the input of the next task. Other tasks can occur independently.
3. Time Allocation :
Each and every task has to be assigned a specific time period i.e a start date
and a completion date based on whether the work will be performed in a full
time or part time basis.
4. Effort Validation :
Every project is assigned to a software team. The project manager has to
make sure that the effort allocated should not be more than the number of
people available to do the work.
5. Defined Responsibilities :
Each of the scheduled task is assigned to a specific member of the software
team.
6. Defined Outcomes :
Each task has a defined outcome. Work product is the outcome of a software
project.
7. Defined Milestones :
Every task is associated with a milestone. A milestone is an action or event
marking a significant change in development process.
These are the seven basic principles that guide software project scheduling.
3
MM Polytechnic, Pune Department of Computer Engineering
4
MM Polytechnic, Pune Department of Computer Engineering
5
MM Polytechnic, Pune Department of Computer Engineering
6
MM Polytechnic, Pune Department of Computer Engineering
(f) Critical tasks have a zero run-time reserve. If the duration of these tasks
changes, the terms of the entire project will be ”shifted.” That is why
critical tasks in project management require special control and timely
detection of risks.
(g) The method was developed by one of the American companies in 1957.
Its employees planned to close, repair and restart chemical plants.
(h) The tasks in this project were numerous and complex; that’s why they
required such a method.
(i) After that, Critical Path Method was quickly spread to agricultural and
construction projects where people wanted to learn how to avoid routine
tasks.
(j) Today, this method of identifying critical tasks is widely used in many
industries, including software development.
7
MM Polytechnic, Pune Department of Computer Engineering
8
MM Polytechnic, Pune Department of Computer Engineering
9
MM Polytechnic, Pune Department of Computer Engineering
activities. For example, the dashed arrow linking nodes 6 and 9 indicates
that the system files must be converted before the user test can take
place, but that the resources and time required to prepare for the user
test (writing the user manual and user training) are on another path.
(t) Numbers on the opposite sides of the vectors indicate the time allotted
for the task.
10
MM Polytechnic, Pune Department of Computer Engineering
11
MM Polytechnic, Pune Department of Computer Engineering
12
MM Polytechnic, Pune Department of Computer Engineering
2 Project Tracking:-
2.1 Timeline Charts
1. A timeline chart is an effective way to visualize a process using chronological
order. Since details are displayed graphically, important points in time can be
easy seen and understood.
2. Often used for managing a project’s schedule, timeline charts function as a
sort of calendar of events within a specific period of time.
3. Timeline charts illustrate events, in chronological order — for example the
progress of a project, advertising campaign, acquisition process — in whatever
unit of time the data was recorded — for example week, month, year, quarter.
4. To generate a Timeline chart, the data must be formatted as Date — these
are the only charts for which the data selected is not formatted as Number.
5. The chart is based on the selection of two date-formatted line items repre-
senting a start and an end date. for Staying on track can be a struggle. By
13
MM Polytechnic, Pune Department of Computer Engineering
incorporating a timeline chart into your project, it becomes much easier to see
what needs to be done, how long it will take, and what the next steps are.
6. Since each steps is documented along an easy to follow timescale, there’s no
misunderstanding of when goals should be met and how many hours a project
should take.
14
MM Polytechnic, Pune Department of Computer Engineering
15
MM Polytechnic, Pune Department of Computer Engineering
13. A Gantt chart, commonly used in project management, is one of the most pop-
ular and useful ways of showing activities (tasks or events) displayed against
time.
14. On the left of the chart is a list of the activities and along the top is a suitable
time scale.
15. Each activity is represented by a bar; the position and length of the bar reflects
the start date, duration and end date of the activity.
16
MM Polytechnic, Pune Department of Computer Engineering
17
MM Polytechnic, Pune Department of Computer Engineering
18
MM Polytechnic, Pune Department of Computer Engineering
(c) Quality Control - Ensure that best practices and standards are followed
by the software development team to produce quality products.
19
MM Polytechnic, Pune Department of Computer Engineering
• Activities.
(a) Quality assurance activities take place at each phase of development.
(b) nalysts use application technology to achieve high-quality specifica-
tions and designs.
(c) Technicians find problems with related software quality through meet-
ings.
(d) Tests are created by developers and/or dedicated testers for each
significant use case.
(e) Standards violations are identified and addressed throughout devel-
opment.
(f) Product/program managers ensure that feature/architecture/component
changes are made only after appropriate review.
(g) The team monitors statistics about defect discovery, severity and fix
rates.
• Review and Audit.
(a) Management Review: Management Review is also known as Software
Quality Assurance or (SQA).
(b) It focuses more on the software process rather than the software work
products.
(c) Quality Assurance is a set of activities designed to ensure that the
project manager follows the standard process which is already pre-
defined.
(d) In other words, Quality Assurance makes sure the Test Manager is
doing the right things in the right way.
(e) An audit is the examination of the work products and related in-
formation to assesses whether the standard process was followed or
not.
20
MM Polytechnic, Pune Department of Computer Engineering
21
MM Polytechnic, Pune Department of Computer Engineering
22
MM Polytechnic, Pune Department of Computer Engineering
23
MM Polytechnic, Pune Department of Computer Engineering
24
MM Polytechnic, Pune Department of Computer Engineering
25
MM Polytechnic, Pune Department of Computer Engineering
6 software security.
1. Software security is an idea implemented to protect software against mali-
cious attack and other hacker risks so that the software continues to function
correctly under such potential risks.
26
MM Polytechnic, Pune Department of Computer Engineering
6.1 DevOps.
1. DevOps is a term for a group of concepts that, while not all new, have cat-
alyzed into a movement and are rapidly spreading throughout the technical
community.
2. Like any new and popular term, people may have confused and sometimes
contradictory impressions of what it is.
3. DevOps is the practice of operations and development engineers participating
together in the entire service lifecycle, from design through the development
process to production support.
4. DevOps is also characterized by operations staff making use many of the same
techniques as developers for their systems work.
5. DevOps is a new term emerging from the collision of two major related trends.
6. The first was also called “agile infrastructure” or “agile operations”; it sprang
from applying Agile and Lean approaches to operations work.
7. The second is a much expanded understanding of the value of collaboration
between development and operations staff throughout all stages of the devel-
opment lifecycle when creating and operating a service, and how important
operations has become in our increasingly service-oriented world (cf. Opera-
tions: The New Secret Sauce).
27