100% found this document useful (1 vote)
51 views61 pages

Devops-UNIT 1

Uploaded by

navelsurith12346
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
51 views61 pages

Devops-UNIT 1

Uploaded by

navelsurith12346
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

1

2
Please read this disclaimer before proceeding:

This document is confidential and intended solely for the educational purpose of
RMK Group of Educational Institutions. If you have received this document through
email in error, please notify the system manager. This document contains proprietary
information and is intended only to the respective group / learning community as
intended. If you are not the addressee you should not disseminate, distribute or
copy through e-mail. Please notify the sender immediately by e-mail if you have
received this document by mistake and delete this document from your system. If
you are not the intended recipient you are notified that disclosing, copying,
distributing or taking any action in reliance on the contents of this information is
strictly prohibited.

3
20IT911

DEVOPS

Department : Information Technology


Batch/Year : 2020-2024/ II
Created by : Ms. R. Rajitha Jasmine

Date : 07-08-2023

4
1.TABLE OF CONTENTS

SLIDE
S.NO. CONTENTS
NO.
1 CONTENTS

2 COURSE OBJECTIVES

3 PRE REQUISITES (COURSE NAMES WITH CODE)

4 SYLLABUS (WITH SUBJECT CODE, NAME, LTPC DETAILS)

5 COURSE OUTCOMES (6)

6 CO- PO/PSO MAPPING

7 LECTURE PLAN –UNIT 1

8 ACTIVITY BASED LEARNING –UNIT 1


9 CROSSWORD PUZZLE
10 VIDEO LINK-QUIZ
11 TEST YOURSELF
12 LECTURE NOTES – UNIT 1

13 1.1 What Is DevOps


14 1.2 Architecture

15 1.3 Life Cycle

16 1.3.1. Workflow and Principles

17 1.4 Tools

18 1.5 CI, CD and CD Pipelines

19 Linux Introduction,

20 Basic Commands, Scripting

5
Table of Contents SLIDE
S.NO. CONTENTS
NO.

21 ASSIGNMENT 1- UNIT 1

22 PART A Q & A (WITH K LEVEL AND CO)

23 PART B Q s (WITH K LEVEL AND CO)

24 SUPPORTIVE ONLINE CERTIFICATION COURSES

REAL TIME APPLICATIONS IN DAY TO DAY LIFE AND TO


25
INDUSTRY

26 CONTENTS BEYOND THE SYLLABUS

27 ASSESSMENT SCHEDULE

28 PRESCRIBED TEXT BOOKS & REFERENCE BOOKS

29 MINI PROJECT SUGGESTIONS

6
2. COURSE OBJECTIVES

OBJECTIVES:
Understand the concepts of DevOps and the issues it resolves
Learn the DevOps tools set
Learn to Develop automation using Maven
Understand Continuous Delivery and Continuous Deployment
Understand Docker Containerization

7
3. PRE REQUISITES

PRE-REQUISITE CHART

DATA STRUCTURES
20IT911
DevOps

Software Engineering

Cloud Computing

8
4. DEVOPS SYLLABUS LTPC
3003
OBJECTIVES:
Understand the concepts of DevOps and the issues it resolves
Learn the DevOps tools set
Learn to Develop automation using Maven
Understand Continuous Delivery and Continuous Deployment
Understand Docker Containerization

UNIT I INTRODUCTION 6+6


What Is DevOps, Architecture, Life Cycle, Workflow and Principles,
Tools, CI, CD and CD Pipelines Linux Introduction, Basic Commands, Scripting

UNIT II TOOL SET 6+6

Maven Build Management, Goals, Profiles, Plugins, Life Cycles,


Configuration, Parent/Child - SCM Tools - GitHub, Init, CheckIn,
Merge, Pull, Push, Local and Remote Repo, Pull Request, Tagging
Strategy - Unit Testing - Unit Testing scropts -
Artifact Repository - Release Management aligned Repos, Private
and Public Repos
Monitoring - Tools like nagios to assist in monitoring and managing
the deployed instances

UNIT II TESTING AUTOMATION 6+6


Maven with Unit / Integration / Performance Testing - Report
Generation and Configuration

9
4. SOFTWARE ENGINEERING SYLLABUS LTPC
3003
UNIT IV DEPLOYMENT AND MONITORING - DOCKER 6+6

Docker Introduction, Images, Containers, Docker Hub, Links, Volume,


Network, Interactive Sessions - K8 - Single and Cluster Mode, Secrets,
Persistence Volume and Claim, Replica Factor, Services, Pods, Deployments,
logs, Kubernetes .

UNIT V DEPLOYMENT AND MONITORING - JENKINS 6+6

Sonar Qube integration with Project and Jenkins - Jenkins - Setup and
Configuration, Jobs - Continuous Integration, Continuous Delivery and
Continuous Deployment Configuration

TOTAL: 60 PERIODS

10
5.COURSE OUTCOME

Cognitive/
Affective Expected
Course
Course Outcome Statement Level of the Level of
Code
Course Attainment
Outcome
Course Outcome Statements in Cognitive Domain
Identify the key activities in Apply
C305.1 60%
managing a software project K3
Analyse
C305.2 Compare different process models 60%
K4
Summarize the concepts of
Understand
C305.3 requirements engineering and 60%
K2
analysis modelling
Make use of systematic procedure
Apply
C305.4 for software design and 60%
K3
deployment
Compare and contrast the various
Analyse
C305.5 software testing and maintenance 60%
K4
strategies
Develop project schedule, identify Apply
C305.6 60%
project costs and efforts required K3
Course Outcome Statements in Affective domain

C305.7 Attend the classes regularly Respond (A2) 95%

C305.8 Submit the Assignments regularly. Respond (A2) 95%


Participation in Seminar/Quiz/
Group Discussion/ Collaborative
C305.9 Valuing (A3) 95%
learning and content beyond
syllabus

11
6.CO-PO/PSO MAPPING

Correlation Matrix of the Course Outcomes to


Programme Outcomes and Programme Specific
Outcomes Including Course Enrichment Activities

Programme Outcomes (POs), Programme Specific Outcomes (PSOs)

P P P P P P P P P P P P PS PS PS
Course O O O O O O O O O O O O O O O
Outcomes 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
(Cos)
K3
K K A
K4 K5 /K A2 A3 A3 A3 A3 A2 K3 K3 K3
3 5 3
5

K
C305.1 3 2 1 1 3 3 3 3 3
3

K
C305.2 3 3 2 2 3 3 3 3 3
4

K
C305.3 2 1 2 3 3 3
2
5
K
C305.4 3 2 1 1 3 3 3 3 3
3

K
C305.5 3 3 2 2 3 3 3 3 3
4

K
C305.6 3 2 1 1 3 3 2 2 2
3

A
C305.7 3
2

A
C305.8 2 2 2 3
2

A
C305.9 3 3 3 3 3
3

C305 3 3 2 2 3 1 1 1 3 3 3 3 3 3 3

12
UNIT I

DEVOPS INTRODUCTION

13
LECTURE PLAN – UNIT I

UNIT I SOFTWARE PROCESS AND AGILE DEVELOPMENT

Sl.
No
PROPOSED ACTUAL
NO OF LECTURE LECTURE PERTAINI TAXONOMY MODE OF
TOPIC PERIOD
NG CO(s) LEVEL DELIVERY
S
PEROID PERIOD

Introduction to
1 Software 1 19-01-2023 19-01-2023 CO1 K2 MD1
Engineering

Software 20-01-2023
1 20-01-2023 CO1 K2 MD1
2 Process

Perspective
1 21-01-2023 CO1 K2 MD1
3 Process models

Perspective
1 24-01-2023 CO1 K3 MD1
4 Process models

28-01-2023
Specialized
1 CO1 K3 MD1
5 Process models

Introduction to 01-02-2023
6 1 CO1 K2 MD1
Agility

03-02-2023
Agile process 1 CO1 K2 MD1
7

Extreme 04-02-2023
1 CO1 K2 MD1
programming
8

9 XP Process. 04-02-2023
1 CO1 K2 MD1

14
LECTURE PLAN – UNIT I

ASSESSMENT COMPONENTS MODE OF DELEIVERY


AC 1. Unit Test MD 1. Oral presentation
AC 2. Assignment MD 2. Tutorial
AC 3. Course Seminar MD 3. Seminar
AC 4. Course Quiz MD 4 Hands On
AC 5. Case Study MD 5. Videos
AC 6. Record Work MD 6. Field Visit
AC 7. Lab / Mini Project
AC 8. Lab Model Exam
AC 9. Project Review

15
ACTIVITY BASED LEARNING – UNIT I

COMPLETE THE PUZZLES GIVEN BELOW

16
ACTIVITY BASED LEARNING – UNIT I

QUIZ- LINK

Unit I:
Software Engineering:

https://quizizz.com/join/quiz/5ea2c608298254001d6fa416/start?from=s
oloLinkShare&referrer=5f16995403ff63001f3fdbba
SDLC:

https://quizizz.com/join/quiz/58f4d29f4d8adb1000732aec/start?from=so
loLinkShare&referrer=5f16995403ff63001f3fdbba
Software process Models:

https://quizizz.com/join/quiz/59dbd6bd3f22201000c481f8/start?from=so
loLinkShare&referrer=5f16995403ff63001f3fdbba

https://quizizz.com/join/quiz/5e10a684b2c152001bbdae63/start?from=s
oloLinkShare&referrer=5f16995403ff63001f3fdbba

SOFTWARE ENGINEERING VIDEO QUIZ-https://youtu.be/WpVoJq8hR6Q

17
Test Yourself

1. RAD stands for


a) Relative Application Development
b) Rapid Application Development
c) Rapid Application Document
d) None of the mentioned

2. Which one of the following is not a phase of Prototyping Model?


a) Quick Design
b) Coding
c) Prototype Refinement
d) Engineer Product

3. SDLC stands for


a) Software Development Life Cycle
b) System Development Life cycle
c) Software Design Life Cycle
d) System Design Life Cycle

4. The spiral model was originally proposed by


a) IBM
b) Barry Boehm
c) Pressman
d) Royce

5. Project risk factor is considered in which model?

a. Spiral model.

b. Waterfall model.

c. Prototyping model

d. None of the above.

18
UNIT I
INTRODUCTION

The DevOps is a combination of two words, one is software Development,


and second is Operations. This allows a single team to handle the entire
application lifecycle, from development to testing, deployment,
and operations. DevOps helps you to reduce the disconnection between
software developers, quality assurance (QA) engineers, and system
administrators.

DevOps promotes collaboration between Development and Operations team


to deploy code to production faster in an automated & repeatable way.

DevOps helps to increase organization speed to deliver applications and


services. It also allows organizations to serve their customers better and
compete more strongly in the market.

DevOps can also be defined as a sequence of development and IT operations


with better communication and collaboration.

DevOps has become one of the most valuable business disciplines for
enterprises or organizations. With the help of DevOps, quality, and speed of
the application delivery has improved to a great extent.

DevOps is nothing but a practice or methodology of making "Developers"


and "Operations" folks work together. DevOps represents a change in the IT
culture with a complete focus on rapid IT service delivery through the
adoption of agile practices in the context of a system-oriented approach

19
Why DevOps?
we need to understand why we need the DevOps over
the other methods.
The operation and development team worked in
complete isolation.
After the design-build, the testing and deployment are
performed respectively. That's why they consumed
more time than actual build cycles.
Without the use of DevOps, the team members are
spending a large amount of time on designing, testing,
and deploying instead of building the project.
Manual code deployment leads to human errors in
production.
Coding and operation teams have their separate
timelines and are not in synch, causing further delays.

20
DevOps History

In 2009, the first conference named DevOpsdays was held in Ghent


Belgium. Belgian consultant and Patrick Debois founded the
conference.

In 2012, the state of DevOps report was launched and conceived by


Alanna Brown at Puppet.

In 2014, the annual State of DevOps report was published by Nicole


Forsgren, Jez Humble, Gene Kim, and others. They found DevOps
adoption was accelerating in 2014 also.

In 2015, Nicole Forsgren, Gene Kim, and Jez Humble founded DORA
(DevOps Research and Assignment).

In 2017, Nicole Forsgren, Gene Kim, and Jez Humble published


"Accelerate: Building and Scaling High Performing Technology
Organizations".

21
DevOps Architecture Features

Automation

Automation can reduce time consumption, especially during the


testing and deployment phase. The productivity increases, and releases
are made quicker by automation. This will lead in catching bugs quickly so
that it can be fixed easily. For contiguous delivery, each code is defined
through automated tests, cloud-based services, and builds. This promotes
production using automated deploys.

Collaboration

The Development and Operations team collaborates as a DevOps


team, which improves the cultural model as the teams become more
productive with their productivity, which strengthens accountability and
ownership. The teams share their responsibilities and work closely in
sync, which in turn makes the deployment to production faster.

Integration

Applications need to be integrated with other components in the


environment. The integration phase is where the existing code is
combined with new functionality and then tested. Continuous integration
and testing enable continuous development. The frequency in the
releases and micro-services leads to significant operational challenges. To
overcome such problems, continuous integration and delivery are
implemented to deliver in a quicker, safer, and reliable manner.

22
Configuration management

It ensures the application to interact with only those


resources that are concerned with the environment in which it runs.
The configuration files are not created where the external
configuration to the application is separated from the source code.
The configuration file can be written during deployment, or they can
be loaded at the run time, depending on the environment in which it
is running.

23
DevOps Advantages and Disadvantages

Advantages
DevOps is an excellent approach for quick development and
deployment of applications.

It responds faster to the market changes to improve business growth.

DevOps escalate business profit by decreasing software delivery time


and transportation costs.

DevOps clears the descriptive process, which gives clarity on product


development and delivery.

It improves customer experience and satisfaction.

DevOps simplifies collaboration and places all tools in the cloud for
customers to access.

DevOps means collective responsibility, which leads to better team


engagement and productivity.

Disadvantages
DevOps professional or expert's developers are less available.

Developing with DevOps is so expensive.

Adopting new DevOps technology into the industries is hard to manage


in short time.

Lack of DevOps knowledge can be a problem in the continuous


integration of automation projects.

24
DevOps Architecture

Development and operations both play essential roles in order to


deliver applications. The deployment comprises analyzing
the requirements, designing, developing, and testing of the
software components or frameworks.

The operation consists of the administrative processes, services,


and support for the software. When both the development and
operations are combined with collaborating, then the DevOps
architecture is the solution to fix the gap between deployment and
operation terms; therefore, delivery can be faster.

DevOps architecture is used for the applications hosted on the


cloud platform and large distributed applications. Agile
Development is used in the DevOps architecture so that integration
and delivery can be contiguous. When the development and
operations team works separately from each other, then it is time-
consuming to design, test, and deploy. And if the terms are not in
sync with each other, then it may cause a delay in the delivery. So
DevOps enables the teams to change their shortcomings and
increases productivity.

25
Below are the various components that are used in the DevOps
architecture:

26
Build

Without DevOps, the cost of the consumption of the resources was


evaluated based on the pre-defined individual usage with fixed hardware
allocation. And with DevOps, the usage of cloud, sharing of resources
comes into the picture, and the build is dependent upon the user's need,
which is a mechanism to control the usage of resources or capacity.

Code

Many good practices such as Git enables the code to be used, which
ensures writing the code for business, helps to track changes, getting
notified about the reason behind the difference in the actual and the
expected output, and if necessary reverting to the original code
developed. The code can be appropriately arranged in files, folders, etc.
And they can be reused.

Test

The application will be ready for production after testing. In the case of
manual testing, it consumes more time in testing and moving the code
to the output. The testing can be automated, which decreases the time
for testing so that the time to deploy the code to production can be
reduced as automating the running of the scripts will remove many
manual steps

Plan

DevOps use Agile methodology to plan the development. With the


operations and development team in sync, it helps in organizing the
work to plan accordingly to increase productivity.

27
Monitor

Continuous monitoring is used to identify any risk of failure. Also, it


helps in tracking the system accurately so that the health of the
application can be checked. The monitoring becomes more comfortable
with services where the log data may get monitored through many
third-party tools such as Splunk.

Deploy

Many systems can support the scheduler for automated deployment.


The cloud management platform enables users to capture accurate
insights and view the optimization scenario, analytics on trends by the
deployment of dashboards.

Operate

DevOps changes the way traditional approach of developing and testing


separately. The teams operate in a collaborative way where both the
teams actively participate throughout the service lifecycle. The
operation team interacts with developers, and they come up with a
monitoring plan which serves the IT and business requirements.

Release

Deployment to an environment can be done by automation. But when


the deployment is made to the production environment, it is done by
manual triggering. Many processes involved in release management
commonly used to do the deployment in the production environment
manually to lessen the impact on the customers.

28
DevOps Lifecycle

DevOps defines an agile relationship between operations and


Development. It is a process that is practiced by the development
team and operational engineers together from beginning to the
final stage of the product.

DevOps defines an agile relationship between operations and


Development. It is a process that is practiced by the development
team and operational engineers together from beginning to the
final stage of the product.

29
The DevOps lifecycle includes seven phases as given below:
Continuous Development

This phase involves the planning and coding of the software.


The vision of the project is decided during the planning phase. And
the developers begin developing the code for the application. There
are no DevOps tools that are required for planning, but there are
several tools for maintaining the code.

Continuous Integration

This stage is the heart of the entire DevOps lifecycle. It is a


software development practice in which the developers require to
commit changes to the source code more frequently. This may be on
a daily or weekly basis. Then every commit is built, and this allows
early detection of problems if they are present. Building code is not
only involved compilation, but it also includes unit testing,
integration testing, code review, and packaging.

The code supporting new functionality is continuously


integrated with the existing code. Therefore, there is continuous
development of software. The updated code needs to be integrated
continuously and smoothly with the systems to reflect changes to the
end-users.

30
Jenkins is a popular tool used in this phase. Whenever there is a
change in the Git repository, then Jenkins fetches the updated code
and prepares a build of that code, which is an executable file in the
form of war or jar. Then this build is forwarded to the test server or
the production server.

Continuous Testing

This phase, where the developed software is continuously


testing for bugs. For constant testing, automation testing tools such
as TestNG, JUnit, Selenium, etc are used. These tools allow QAs to
test multiple code-bases thoroughly in parallel to ensure that there is
no flaw in the functionality. In this phase, Docker Containers can be
used for simulating the test environment.

31
Selenium does the automation testing, and TestNG generates the
reports. This entire testing phase can automate with the help of a
Continuous Integration tool called Jenkins.

Automation testing saves a lot of time and effort for


executing the tests instead of doing this manually. Apart from that,
report generation is a big plus. The task of evaluating the test cases
that failed in a test suite gets simpler. Also, we can schedule the
execution of the test cases at predefined times. After testing, the
code is continuously integrated with the existing code.

32
Automation testing saves a lot of time and effort for executing the
tests instead of doing this manually. Apart from that, report
generation is a big plus. The task of evaluating the test cases that
failed in a test suite gets simpler. Also, we can schedule the
execution of the test cases at predefined times. After testing, the
code is continuously integrated with the existing code.

Continuous Monitoring

Monitoring is a phase that involves all the operational factors


of the entire DevOps process, where important information about
the use of the software is recorded and carefully processed to find
out trends and identify problem areas. Usually, the monitoring is
integrated within the operational capabilities of the software
application.

It may occur in the form of documentation files or maybe


produce large-scale data about the application parameters when it is
in a continuous use position. The system errors such as server not
reachable, low memory, etc are resolved in this phase. It maintains
the security and availability of the service.

33
Continuous Feedback

The application development is consistently improved by


analyzing the results from the operations of the software. This is
carried out by placing the critical phase of constant feedback
between the operations and the development of the next version of
the current software application.

The continuity is the essential factor in the DevOps as it


removes the unnecessary steps which are required to take a software
application from development, using it to find out its issues and then
producing a better version. It kills the efficiency that may be possible
with the app and reduce the number of interested customers.

Continuous Deployment

In this phase, the code is deployed to the production servers. Also,


it is essential to ensure that the code is correctly used on all the
servers.

34
The new code is deployed continuously, and configuration
management tools play an essential role in executing tasks
frequently and quickly. Here are some popular tools which are used
in this phase, such as Chef, Puppet, Ansible, and SaltStack

Containerization tools are also playing an essential role in the


deployment phase. Vagrant and Docker are popular tools that are
used for this purpose. These tools help to produce consistency
across development, staging, testing, and production environment.
They also help in scaling up and scaling down instances softly.

Containerization tools help to maintain consistency across the


environments where the application is tested, developed, and
deployed. There is no chance of errors or failure in the production
environment as they package and replicate the same dependencies
and packages used in the testing, development, and staging
environment. It makes the application easy to run on different
computers.

35
Continuous Operations

All DevOps operations are based on the continuity with


complete automation of the release process and allow the
organization to accelerate the overall time to market continuingly.

The critical factor in the DevOps in removing steps that often


distract the development, take it longer to detect issues and produce
a better version of the product after several months. With DevOps,
we can make any software product more efficient and increase the
overall count of interested customers in your product.

DevOps Workflow

36
DevOps workflow provides a visual overview of the sequence in which input
is provided. Also, it tells about which one action is performed, and output is
generated for an operations process.

DevOps workflow allows the ability to separate and arrange the jobs which
are top requested by the users. Also, it gives the ability to mirror their ideal
process in the configuration jobs.

DevOps Principles
The main principles of DevOps are Continuous delivery, automation, and fast
reaction to the feedback.

End to End Responsibility: DevOps team need to provide performance support


until they become the end of life. It enhances the responsibility and the quality of
the products engineered.

Continuous Improvement: DevOps culture focuses on continuous improvement to


minimize waste. It continuously speeds up the growth of products or services
offered.

Automate Everything: Automation is an essential principle of the DevOps process.


This is for software development and also for the entire infrastructure landscape.

Custom Centric Action: DevOps team must take customer-centric for that they
should continuously invest in products and services.

Monitor and test everything: The DevOps team needs to have robust monitoring
and testing procedures.

Work as one team: In the DevOps culture role of the designers, developers, and
testers are already defined. All they needed to do is work as one team with
complete collaboration.

37
DevOps Tools

DevOps tools with brief explanation shown in the below image,


such as:

38
Puppet
Puppet is the most widely used DevOps tool. It allows the
delivery and release of the technology changes quickly and
frequently. It has features of versioning, automated testing, and
continuous delivery. It enables to manage entire infrastructure as
code without expanding the size of the team.

Features

Real-time context-aware reporting.

Model and manage the entire environment.

Defined and continually enforce infrastructure.

Desired state conflict detection and remediation.

It inspects and reports on packages running across the


infrastructure.

It eliminates manual work for the software delivery process.

It helps the developer to deliver great software quickly.

Ansible
Ansible is a leading DevOps tool. Ansible is an open-source IT
engine that automates application deployment, cloud provisioning,
intra service orchestration, and other IT tools. It makes it easier for
DevOps teams to scale automation and speed up productivity.

39
Ansible is easy to deploy because it does not use
any agents or custom security infrastructure on the client-side, and
by pushing modules to the clients. These modules are executed
locally on the client-side, and the output is pushed back to the
Ansible server.

Features

It is easy to use to open source deploy applications.

It helps in avoiding complexity in the software development


process.

It eliminates repetitive tasks.

It manages complex deployments and speeds up the development


process.

Docker

Docker is a high-end DevOps tool that allows building, ship, and run
distributed applications on multiple systems. It also helps to
assemble the apps quickly from the components, and it is typically
suitable for container management.

40
Continuous learning:

Because learning is a vital part of continuous process improvement,


members of the XP team are encouraged to learn new methods and
techniques that can lead to a higher quality product.

Agile Methodologies
https://www.youtube.com/watch?v=1iccpf2eN1Q

41
ASSIGNMENT – UNIT I

1. Assume that you are the technical manager of a software development


organization. A client approached you for a software solution. The
problems stated by the client have uncertainties which lead to loss if it
not planned and solved. Which software development model you will
suggest for this project – justify. Explain that model with its pros and
cons and neat sketch (K3)

2. Compare the various perspective process models (K3)

42
PART A- UNIT-1

1. What is Software Engineering?/ Write the IEEE definition of software


engineering (K2),CO1

Software Engineering is the establishment and use of sound engineering


principles in order to obtain economically software that is reliable and works
efficiently on real machines.

Software Engineering (IEEE Standard): (1) The application of a systematic,


disciplined, quantifiable approach to the development, operation, and
maintenance of software

2. What are the umbrella activities of a software process? (K2),CO1

Software project tracking and control.

Risk management.

Software Quality Assurance

Formal Technical Reviews.

Software Configuration Management.

Work product preparation and production.

Reusability management.

Measurement.

3. List the process maturity levels in SEIs CMM. (K2),CO1

Level 1:Initial – Few processes are defined and individual efforts are taken.

Level 2:Repeatable – To track cost schedule and functionality basic project


management processes are established.

Level 3:Defined – The process is standardized, documented and followed.

Level 4:Managed – Both the software process and product are quantitatively
understood and controlled using detailed measures.

Level 5:Optimizing – Establish mechanisms to plan and implement change.

43
PART A- UNIT-1

4. What are the characteristics of the software? (K2), CO1


Software is engineered, not manufactured.

Software does not wear out.

Most software is custom built rather than being assembled from components

5. Define Software Process.. (K2),CO1

A process framework establishes the foundation for a complete software process


by identifying a small number of framework activities that are applicable to all
software projects, regardless of their size or complexity.

6. List out the fundamental activities of software process (K2),CO1

Communication: This framework activity involves heavy communication and


collaboration with the customer (and other stakeholders’) and encompasses
requirements gathering and other related activities.

Planning: This activity establishes a plan for the software engineering work that
follows. It describes the technical tasks to be conducted, the risks that are likely,
the resources that will be required, the work products to be produced, and a work
schedule.

Modeling: This activity encompasses the creation of models that allow the
developer and the customer to better understand software requirements and the
de sign that will achieve those requirements.

Construction: This activity combines code generation (either manual or


automated) and the testing that is required to uncover errors in the code.

Deployment: The software (as a complete entity or as a partially completed


increment) is delivered to the customer who evaluates the delivered product and
provides feedback based on the evaluation

44
PART A- UNIT-1

7. What are the advantages and disadvantages of size measure? (K2),CO1


Advantages:

 Artifact of software development which is easily counted.

 Many existing methods use LOC as a key input.

 A large body of literature and data based on LOC already exists.

Disadvantages:

 This method is dependent upon the programming language.

 This method is well designed but shorter program may get suffered.

 It does not accommodate non procedural languages.

 In early stage of development it is difficult to estimate LOC

8. List deficiencies in waterfall model . (K2).CO2


Disadvantages of a Waterfall Model

If requirements may change the Waterfall model may not work.

Many believe it is impossible to make one stage of the projects life cycle perfect.

Difficult to estimate time and cost for each stage of the development process.

Constant testing of the design is needed.

Blocking states

9. What are the advantages of evolutionary prototyping? (K2),CO2


i. Fast delivery of the working system.

ii. User is involved while developing the system.

iii. More useful system can be delivered.

45
PART A- UNIT-1

10. What are the drawbacks of RAD model? (K2),CO2


Disadvantages of RAD Model:

(1) For large, but scalable projects, RAD requires sufficient human resources to
create the right number of RAD teams;

(2) If developers and customers are not committed to the rapid-fire activities
necessary to complete the system in a much abbreviated time frame, RAD
projects will fail;

(3) If a system cannot be properly modularized, building the components necessary


for RAD will be problematic;

(4) If high performance is an issue, and performance is to be achieved through


tuning the interfaces to system components, the RAD approach may not work;

(5) RAD may not be appropriate when technical risks are high (e.g., when a new
application makes heavy use of new technology).

11. What are the pros and cons of iterative development model? (K2),CO2

Advantages:

Incremental development is particularly useful when staffing is unavailable for a


complete implementation by the business deadline that has been established for
the project. Early increments can be implemented with fewer people. If the core
product is well received, additional staff (if required) can be added to implement
the next increment. In addition, increments can be planned to manage technical
risks.

Disadvantages

Used when requirements are well understood

Multiple independent deliveries are identified

46
PART A- UNIT-1

Work flow is in a linear (i.e., sequential) fashion within an increment and is


staggered between increments

Iterative in nature; focuses on an operational product with each increment

Provides a needed set of functionality sooner while delivering optional


components later

Useful also when staffing is too short for a full-scale development

12. What are the challenges in software? (K2),CO1

Copying with legacy systems

Heterogeneity challenge

Delivery times challenge

13. What are the drawbacks of spiral model? (K2),CO2

It is based on customer communication.

If the communication is not proper then the software product that gets
developed will not be the up to the mark.

It demands considerable risk assessment.

If the risk assessment is done properly then only the successful product can be
obtained.

14. Name the Evolutionary process Models. (K2),CO2


 Incremental model

 Spiral model

 WIN-WIN spiral model

 Concurrent Development

47
PART A- UNIT-1

15. What does Verification and Validation represents? (K2), CO1

Verification represents the set of activities that are carried out to confirm that the
software correctly implements the specific functionality.

Validation represents the set of activities that ensure that the software that has
been built is satisfying the customer requirements

48
PART B- UNIT 1

1. Explain iterative waterfall and spiral model for software life cycle and various
activities in each phase. (K2), CO2

2.Compare the various Software Development Process Models(K3),CO2

3.Explain in detail about the software process(K2),CO1

4. Explain verification and validation. With suitable example(K2),CO1

6.Explain the process model that combines the elements of waterfall and iterative
fashion(K2), CO2

7.Explain the following: (K2),CO2

a)Waterfall model

b)Spiral model

c)RAD model

d)Prototyping model

8.Explain in detail the various Software Development life cycle processes. (k2),CO2

9. Explain in detail about Agile Methodology (k2),CO2

10. Discuss the phases of XP Programming in detail. (K2),CO2

49
SUPPORTIVE ONLINE COURSES – UNIT I

https://swayam.gov.in/explorer?searchText=software+engineering

https://www.coursera.org/learn/software-processes

https://www.coursera.org/specializations/software-development-
lifecycle

https://www.coursera.org/learn/software-design-development-
life-cycle

50
REAL TIME APPLICATION- UNIT I
As per the KPMG Survey, on average, about 70 % of all IT-related projects fail to
meet their objectives, and one of the main reason is the selection of the wrong
software development process/model.

A software house owner explained in an agile conference “We were facing


problems like over commitment and under delivery, unsatisfied customers,
missing deadlines and unhappy team. We switched our development model, and
it all turned out to be ok.”

Just selecting a model that suits your criteria can avoid these problems.

For example, if requirements are all clear and written down, you might have to
choose a different model if requirements are not clear and constant changes are
expected.

Waterfall
Probably the oldest and most straightforward SDLC (software development life
cycle) development model, Waterfall follows a sequential model (like a waterfall)
with requirements analysis, design, coding, testing and implementation in such a
manner that the development does not move to next phase until the previous
phase is completed. That is why it is called the linear sequential software
development life cycle.

Iterative
Repetition is the keyword for the iterative model. Instead of having clear and
known requirements or waiting for them, a team starts development on the
known features, tests and then evaluate further requirements, develops, tests and
so on until the whole thing is done.

Agile
Agile, the most widely used software development methodology is Agile, has
become the industry standard, be it software development, App development or
Game development.

51
CONTENT BEYOND SYLLABUS – UNIT I

SOFTWARE PROJECT MANAGEMENT


Software project management refers to the branch of project management
dedicated to the planning, scheduling, resource allocation, execution, tracking and
delivery of software and web projects.

Project management in software engineering is distinct from traditional project


management in that software projects have a unique lifecycle process that
requires multiple rounds of testing, updating, and customer feedback. Most IT-
related projects are managed in the agile style, in order to keep up with the
increasing pace of business, and iterate based on customer and stakeholder
feedback.

ProWorkflow

ProWorkflow is a web-based project management software that enables users to


manage tasks and projects, track time, organize contacts, and generate reports for
their business. It is a productivity application that provides a comprehensive set of
features, yet still easy to use for all members of the team. Aside from the great tools
and functionality from the software, customers also enjoy free quality support
through consultations and trainings that help get their businesses up and running.

Jira

Jira is an agile project management software used by development teams to


plan, track, and release software. It is a popular tool designed specifically and used
by agile teams. Aside from creating stories, planning sprints, tracking issues, and
shipping up-to-date software, users also generate reports that help improve teams,
and create their own workflows. As part of Atlassian, it integrates with many tools
that enable teams to manage their projects and products from end to end. Jira
Software is built for every member of your software team to plan,track, and release
great software. Every team has a unique process for shipping software. Use an out-
of-the-box workflow, or create one to match the way your team works.

52
ASSESSMENT SCHEDULE

Tentative schedule for the Assessment During 2020-


2021 odd semester

Name of the
S.NO Start Date End Date Portion
Assessment

1 UNIT TEST 1 UNIT 1

2 IAT 1 UNIT 1 & 2

3 UNIT TEST 2 UNIT 3

4 IAT 2 UNIT 3 & 4

5 REVISION 1 UNIT 5 , 1 & 2

6 REVISION 2 UNIT 3 & 4

7 MODEL ALL 5 UNITS

53
PRESCRIBED TEXT BOOKS AND REFERENCE BOOKS

TEXT BOOKS:
1. Roger S. Pressman, ― Software Engineering – A Practitioner's Approach‖,
Seventh Edition, Mc Grew-Hill International Edition, 2010.

2. 2. Ian Summerville, ― Software Engineering‖, 9th Edition, Pearson


Education Asia, 2011.

REFERENCES:
1. Rajib Mall, ― Fundamentals of Software Engineering‖, Third Edition, PHI
Learning Private Limited, 2009.

2. Pankaj Jabot, ― Software Engineering, A Precise Approach‖, Wiley India,


2010.

3. Kelkar S.A., ― Software Engineering‖, Prentice Hall of India Pvt Ltd, 2007.

4. Stephen R. Schacht, ― Software Engineering‖, Tata McGraw-Hill Publishing


Company Limited,2007.

54
MINI PROJECT SUGGESTIONS

1.Student Mark Analysis System

Problem Statement:

Computerized Student Mark Analysis System analysis the marks obtained


by the students and generate various reports of an Institution.

It needs to maintain the record of all the students and staff of an Institution.

It should be able to perform basic operations such as:

Add New Student and Staff details

Update Student and Staff Details

Delete Student and Staff Details.

View Results

Generate Reports:

Branch-wise Student Report

Grade-wise Student Report

Subject-wise Student Report

Year-wise Student Report

55
MINI PROJECT SUGGESTIONS

2. Quiz System

Problem Statement:

Online Quiz System allows different categories of candidates to attend


online test on various domains according to their required skill set.

It needs to maintain the record of all the participants by System Administrator.

It should be able to perform basic operations such as:

Registration/SignIn

Update Participant Details.

Delete Participant Details.

Add domain questions for various levels (Easy/Moderate/Difficult)

Attend Quiz & Display Score.

Generate Participant Report.

56
MINI PROJECT SUGGESTIONS

3.Ticket Reservation System

Problem Statement:

Online Ticket Reservation System allows the user to book/cancel the


tickets online from their place where the internet connectivity is feasible without
standing in the queue for a long time.

It needs to maintain the record of all the train details, station details and
passenger details of a particular train.

It should be able to perform basic operations such as:

Registration/SignIn

Add/Update/Delete Train Details

Check Availability of seats

Book Tickets

Cancel Tickets

Payment

57
MINI PROJECT SUGGESTIONS

4.Expert System

Problem Statement:

Expert System is used to identify an ailment by its symptoms and


prescribes an appropriate medicine corresponding to the disease. It is well known
that developing countries are facing lots of shortage of medical expertise.

It needs to maintain the record of all the symptoms and its prescribed medicines.

It should be able to perform basic operations such as:

Registration/SignIn

Add/Update/Delete Symptom Details

Querying about Symptoms

58
MINI PROJECT SUGGESTIONS

5.Course Registration System

Problem Statement:

Computerize Online Course Registration System and register students for


various courses based on the availability of seats and course instructor and generate
various reports.

It needs to maintain the record of all the courses, seats available, course
instructors and duration.

It should be able to perform basic operations such as:

Add new Courses and Course Instructors details

Update Courses and Course Instructors details

Delete Courses and Course Instructors details

View Registration status

Generate Reports:

Course-wise Registration Report

Courses Availability Report

Course Instructor Availability Report

Year-wise Registration Report

Courses and Course Instructors Report

59
MINI PROJECT SUGGESTIONS

6.Platform assignment System for the Trains in a Railway


Station

Problem Statement:

Computerize Platform assignment for the trains arriving to the railway


station and generate various reports.

It needs to maintain the record of Number of platforms, Number of trains arriving


and leaving the station and time details.

It should be able to perform basic operations such as:

Add new platform and train details

Update platform and train details

Delete platform and train details

View platform status

Generate Reports:

Trains arriving and leaving the station Report

Platform assignment details Report on a particular date and between dates

Platform available status Report for any instant

60
Thank you

Disclaimer:

This document is confidential and intended solely for the educational purpose of
RMK Group of Educational Institutions. If you have received this document through
email in error, please notify the system manager. This document contains proprietary
information and is intended only to the respective group / learning community as
intended. If you are not the addressee you should not disseminate, distribute or
copy through e-mail. Please notify the sender immediately by e-mail if you have
received this document by mistake and delete this document from your system. If
you are not the intended recipient you are notified that disclosing, copying,
distributing or taking any action in reliance on the contents of this information is
strictly prohibited.

61

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy