0% found this document useful (0 votes)
113 views21 pages

20DCS087 Practical 1-3

The document discusses various software development life cycle (SDLC) models and analyzes which model is suitable for developing an "Everything Real Estate Website" application. It describes the waterfall model, incremental model, and agile model. For the case study of developing an e-learning website, the document argues that the agile model is best as it allows for regular interactions with clients, accepts changes anytime, reduces total development time, and ensures customer satisfaction through continuous delivery of useful software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views21 pages

20DCS087 Practical 1-3

The document discusses various software development life cycle (SDLC) models and analyzes which model is suitable for developing an "Everything Real Estate Website" application. It describes the waterfall model, incremental model, and agile model. For the case study of developing an e-learning website, the document argues that the agile model is best as it allows for regular interactions with clients, accepts changes anytime, reduces total development time, and ensures customer satisfaction through continuous delivery of useful software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

CS346 – Software Engineering 20DCS087

Practical 1
Aim: List & draw at least 7 various Software Development Life Cycle
(SDLC) models and preparing the detailed case study on “Everything Real
Estate Website” that which SDLC model is suitable to develop the
“Everything Real Estate Website” desktop application?
Theory:
The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined
processes for creating high-quality software.
In Detail, the SDLC methodology focuses on the following phases of software development:

Fig.1.1 Software Development Life-cycle

Software Development Life Cycle is a well-defined and systematic approach, practiced for
the development of a reliable high quality software system. It refers to a framework that is
used to plan manage and control the process of developing an information system.
Software development life cycle (SDLC) models show the ways to navigate through the
complex and demanding process of software building. A project’s quality, timeframes,
budget, and ability to meet the stakeholders’ expectations largely depend on the chosen
model.
Today, there are more than 50 recognized SDLC models each describing approach test to a
variety of tasks or activities that take place during the process in use. None of them is perfect,
and each brings its favourable aspects and disadvantages for a specific software development
project or a team.

DEPSTAR (CSE) 1
CS346 – Software Engineering 20DCS087

Types of SDLC Models


Waterfall Model: The waterfall model is the classical model of software engineering.
This model is one of the oldest models and is widely used in government projects and in
many major companies. This model emphasises on the planning in the early stages and
ensures the design flaws before they develop.
The waterfall model begins with establishing system requirements and software
requirements and continues with architectural design, detailed design, coding, testing and
maintenance. The waterfall model serves as a baseline for many other life cycle models.

Basic Principle:
• Project is divided into sequential phases with some overlap and splash back acceptable
between phases.
• Emphasis is on planning time schedules, target dates, budgets and implementation of an
entire system at one time.
• Tight control is maintained over the life of the project via extensive written
documentation, formal reviews and approval/sign off by the user and information
technology management occurring at the end of most phases before beginning the next

phase.

Fig.1.2 Waterfall model

Advantage Disadvantage
Simple and easy to use. Adjusting scope during the life cycle can kill a
project.
Easy to manage due to the rigidity of the No working software is produced until late
model - each phase has specific deliverable during the life cycle.
and a review process.
Phases are processed and completed one at a High amounts of risk and uncertainty.
time.
Works well for smaller projects where Poor model where requirement is at a moderate
requirements are very well understood. to high risk of changing.

DEPSTAR (CSE) 2
CS346 – Software Engineering 20DCS087

Incremental Model: It is a process of software development where requirements are


broken down into multiple standalone modules of software development cycle. Incremental
development is done in steps from analysis design, implementation, testing/ verification,
maintenance.

Each iteration passes through the requirements, design coding and testing phases.
Each subsequent release of the system adds function to the previous release until all
designed functionality has been implemented.

Basic Principle:
• Here system developments broken down into many mini development projects.
• Partial systems are successively built to produce a final total system.
• Highest priority requirement is tackled first.
• Once the requirement is developed, requirement for that increment is frozen.

Advantage Disadvantage
The software will be generated quickly during It requires a good planning design.
the software life cycle.
It is flexible and less expensive to change Each iteration phase is rigid and does not
requirements and scope. overlap each other.
Less costly as compared to others. Problems might cause due to system
architecture as such not all requirements
collected up front for the entire software
lifecycle.
Errors are easy to be identified. Rectifying problem in one unit requires
correction on all the units and consumes a lot
of time.

DEPSTAR (CSE) 3
CS346 – Software Engineering 20DCS087

Fig.1.3 Incremental model

CASE STUDY ON E-LEARNING

OVERVIEW:

E-learning is a type of learning conducted digitally via electronic media,


typically involving the internet. It can be accessed via most electronic devices
including a computer, laptop, tablet or smartphone, making it a versatile and easy
way for students to learn wherever they are.

It has revolutionized the conventional method of chalk and board style of learning
imparted to the students. Unlike this, e-Learning education makes giving and
receiving simpler, prolific, and productive.

Advantages Of E-Learning

1. You are able to link the various resources in several varying formats.
2. It is a very efficient way of delivering courses online.
3. Due to its convenience and flexibility, the resources are available from anywhere
and at any time.
4. Everyone, who are part time students or are working full time, can take advantage
of web-based learning.
5. Web-based learning promotes active and independent learning.
6. As you have access to the net 24x7, you can train yourself anytime and from
anywhere also.
7. It is a very convenient and flexible option; above all, you don't have to depend on
anyone for anything.
8. Not only can you train yourself on a day-to-day basis, but also on weekends or
whenever you have the free time to. There is no hard and fast rule.
9. Through discussion boards and chats, you are able to interact with everyone
online and also clear your doubts if any.
10. The video instructions that are provided for audio and video learning can be
rewound and seen and heard again and again if you do not happen to understand
the topic first time around.

DEPSTAR (CSE) 4
CS346 – Software Engineering 20DCS087

Disadvantages Of E-Learning

Well, there are not many disadvantages of eLearning, the main one being that you
get knowledge only on a theoretical basis and when it comes to putting to use
whatever you have learnt, it may be a little different. The face-to-face learning
experience is missing, which may matter to some of you.

1. Most of the online assessments are limited to questions that are only objective
in nature.
2. There is also the problem of the extent of security of online learning
programs.
3. The authenticity of a particular student's work is also a problem as online just
about anyone can do a project rather than the actual student itself.

4. The assessments that are computer marked generally have a tendency of


being only knowledge-
based and not necessarily practicality-based.

AGILE MODEL FOR DEVELOPMENT OF E-LEARNIG


SOFTWARE/PORTAL:

Agile Model does customer satisfaction by rapid, continuous delivery of useful


software. Through discussion boards and chats, you are able to interact with
everyone online and also clear client’s doubts if any.
In e-learning development, it is best to have the client or stakeholder on the same
page as you, till the end of the project. The absence of this can mean network and
waste of energy and resources. Following a three-step AGILE process can help.
E-learning website will be delivering courses online by keeping regular
interactions with the client. Costs by developing through agile model is less and it
always provides customer satisfaction along with creativity and innovations in the
development of the project.

Modelling in agile is efficient in designing and fulfils the business requirement.


Face to face communication with clients, any time changes acceptance and
reduction in total development time makes agile modelling for project
development best model.

DEPSTAR (CSE) 5
CS346 – Software Engineering 20DCS087

of E-Learning

FIG: AGILE MODEL FOR E-LEARNING

CONCLUSION:

Learnt various SDLC models and performed case study on E-Learning with Agile
software development model.

DEPSTAR (CSE) 6
CS346 – Software Engineering 20DCS087

Practical 2
Aim: List at least 10 Agile Development tools for desktop and mobile
application development in IT industry and prepare the detailed case study
on “JIRA Tool” for Agile Development.
Theory:

1. JIRA
JIRA is a defect tracking tool which is used for Agile testing as well as project
management. This tool is not only used for recording, reporting but also integrated with
code development environment.

FEATURES:

 JIRA Query Language helps to create quick filters with a single click.
 This agile tool helps your team become more accurate and efficient.
 Reporting functionality gives team critical insight into their agile process.
 Extensive reporting functionality gives your team critical insight into their agile
process.
 Allows creating custom workflows of any size which is helpful to build, test, and
release software.

2. ZEPHYR

Zephyr is the #1 selling test management tool, providing end-to-end solutions for agile
teams of all sizes. Get the flexibility, visibility, and insights you need to release better
software FASTER.

FEATURES:

 1-click Integration with JIRA, Confluence, Jenkins, Bamboo, and more.


 Cloud, Server, and Data Centre Deployment Options.
 Advanced Analytics and DevOps Dashboards.
 No Annual Commitment Required.

3. SPRINTS

Sprints is a tool that helps you to manage your team and product with ease. It enables you
to track your progress with no hassle. This software can be used to find bottlenecks and
discover ways to generate business value.

FEATURES:

 It is integrated with CI/CD tools.


 This tool helps you to get product feedback with ease.
 Allows you to work on any device and place.

DEPSTAR (CSE) 7
CS346 – Software Engineering 20DCS087

4. SNAGIT

Snagit is a popular screenshot capturing tool. It provides powerful tools to edit, annotate
and share screenshots. It can also be used to submit and push screenshots directly.

FEATURES:

 This agile testing tool offers complete features for screen capture and video recording.
 Capture videos with a simple, intuitive screen recorder.
 Capture a website, record an online meeting or send feedback in an email.

5. JMETER

Jmeter application is an open-source agile performance testing tool. It is used to load


functional test behaviour and measure performance of the website.

FEATURES:

 Ability to load and performance test different applications/server and protocols.


 Full featured Test IDE for fast Test Plan recording.
 This agile tool offers complete portability and 100% Java purity.
 Data analysis and visualization plugins offers great extensibility.
 Functions can be used to offer dynamic input to test or provide data manipulation
 Easy Continuous Integration using third party libraries for tools like Maven, Gradle,
and Jenkins.

6. SELENIUM

Selenium is an automation agile testing tool. It aims to mimic the behavior of a real user,
and as such interacts with the HTML of the application.

FEATURES:

 It is a compact Object-Oriented API.


 This agile tool Support for different languages like Java, Python, Ruby, Perl, PHP,
and Java script.
 Selenium server initializing is not required.
 WebDriver finds any coordinates of any object.
 It is easy tool for a WebDriver to build a keyword driven framework.

7. APPIUM
Appium is an open-source and free Agile tool. It is helpful for automating mobile web,
iOS, and Android and hybrid applications. Native apps are those written using Android,
iOS, or Windows SDKs.

FEATURES:

 Easy process setup process.

DEPSTAR (CSE) 8
CS346 – Software Engineering 20DCS087

 This best agile tool supports Safari on iOS and Chrome or the built-in 'Browser' app
on Android
 It can automate Native, Hybrid, and Web mobile applications
 It supports programming languages like- Java, PHP, Ruby, Python, C#, etc.
 This agile testing tool allows native, hybrid and web application testing on physical
gadgets as well as on emulator or simulator.

8. BACKLOG

Backlog is an all-in-one project management tool built for developers. Agile Teams use
Backlog to work with other teams for enhanced team collaboration and high-quality
project delivery.

FEATURES:

 Easy bug tracking tool


 Project and issues with subtasks
 Git and SVN built-in
 Gantt Charts and Burndown charts
 Wikis
 Watchlists
 Native mobile apps
 Available both in cloud and on-premise

9. SOAP UI

Soap UI is an agile testing tool for service-oriented architectures (SOA) and REST. Its
functionality includes web service inspection, invoking, development, functional testing,
and load testing.

FEATURES:

 It is open-source testing tool.


 This agile tool offers Drag and Drop Test Creation.
 It allows reusing functional test cases and security scans in just a few clicks.
 It Supports Data-Driven Testing.
 Multi Environment Support.
 Allows service Simulation.
 Static Content Mocking.

10. USERSNAP
Usernap is an Agile testing tool that allows web developers to get screenshots of bugs.
This tool helps testers and developers communicate bugs easily.

FEATURES:

 Runs on every known web browser.


 This best agile tool Connects users with clients and colleagues.
 Get visual bug reports with advanced client-side error recording.
 Supports Single Page Applications.

DEPSTAR (CSE) 9
CS346 – Software Engineering 20DCS087

CASE STUDY ON JIRA TOOL:

DEFINATION:
JIRA is a software testing tool developed by the Australian Company Atlassian. It is a bug
tracking tool that reports all the issues related to your software or mobile apps. The word JIRA
comes from the Japanese word, i.e., "Gojira" which means Godzilla.

WHY JIRA:
JIRA tool is used because of the following reasons:
 Plan, Track and Work Faster.
 The main source of information.
 Organise the documentation tasks.
 Track the progress of our documentation.
 Helps to meet the deadlines of a documentation release.
 Measures the time spent on documentation.
 Provides feedback faster.

BASIC TERMINOLOGIES:
 Backlog:
A list of the outstanding features in Jira, which could be for your product, service,
project, etc. Backlogs are typically used by Scrum teams; however, Kanban teams can
also use a backlog of outstanding work items by using Jira's Kanban feature on Kanban
boards.
 Board:
Displays issues from one or more projects, giving you a flexible way of viewing,
managing, and reporting on work in progress. There are three types of boards in Jira
Software: -
o Scrum board: For teams that plan their work in sprints. This project template
delivers a board and a backlog.
o Kanban board: For teams that focus on managing and constraining their work-
in-progress. This template delivers a board and a backlog.
o Agility: For teams who are new to agile. Get your team up-and-running with this
simplified board-view project template. The set-up is straightforward and
streamlined, delivering more power progressively as you need it.

 Epic:
A very large user story, that is expected to take multiple sprints to complete. An epic is
broken down into multiple stories, and is represented as an issue type in Jira.
 Issue:
An issue is a story, epic, initiative, bug, task or customise issue types that can be created
both in Jira or Portfolio.
 Labels:
Labels can be added to issues to categorise and group related issues.
 Sprint:
It is also known as an iteration, it's a short (ideally two to four week) period in which the
development team implements and delivers a discrete product increment.

DEPSTAR (CSE) 10
CS346 – Software Engineering 20DCS087

 Team:
A Team in Portfolio is a group of real and virtual Jira users. Portfolio teams are defined
by the amount of work they can get done during a given time period. Teams are the
resource element of your plan.
 Priority:
An issue's priority is represented by its rank. This is a key consideration for the
scheduling algorithm in helping to determine which issues are scheduled first.

Steps To create project:


o Login to the Jira portal.

Fig.2.1 Jira Login Portal

o Add project details

Fig.2.2 Project Details

DEPSTAR (CSE) 11
CS346 – Software Engineering 20DCS087

o Add backlogs and create a sprint to run.

Fig.2.3 Creation of new sprint

o Enter sprint info

Fig.2.4 Starting the sprint created

o Observe it in the roadmap section

DEPSTAR (CSE) 12
CS346 – Software Engineering 20DCS087

Fig.2.5 Checking the progress of roadmap section

o Once task completed can change the status in the roadmap section of the
completed task.

Fig.2.6 Changing the status of the task assigned

CONCLUSION

Jira is a powerful project management system with planning, tracking, releasing, and reporting
all in one place. Teams are able to access information about tasks, productivity, bugs, and code
quality in one location.

DEPSTAR (CSE) 13
CS346 – Software Engineering 20DCS087

DEPSTAR (CSE) 14
CS346 – Software Engineering 20DCS087

Practical 3
Aim: List at least 5 software development planning tools and prepare the
detailed case study of Risk Analysis & Management (i.e., Risk
Identification, Risk Projection, Risk Refinement, Risk Mitigation.) on
“Everything Real Estate Website” mobile application.
Theory:
Need of Software development planning:
Software development is a sort of all new streams in world business, and there's next to no
involvement in structure programming items.
Most programming items are customized to accommodate customer's necessities. The most
significant is that the underlying technology changes and advances so generally and rapidly
that experience of one element may not be connected to the other one.
All such business and ecological imperatives bring risk in software development; hence, it is
fundamental to manage software projects efficiently.
Software development planning tools are as follows:
1.Trello
Trello is a Kanban-based collaboration and task management tool that is perfect for all kinds
of projects or teams. This includes content teams, marketing projects, customer support
tracking, sales pipelines, HR tracking, and even Agile project management.
Features:
• Trello allows you to create a board and fill them with different lists.
• Checklists are built inside the cards to track smaller tasks.
• You can also add attachments to cards, making it easier to communicate new iterations or
getting feedback.
• Adding due dates to particular cards is also handy when you want to plan a project.

2. Asana
Asana is a popular tool for managing projects of various sizes, and while the free version
comes
with limited features, it seems to be perfectly suitable for smaller projects.
The latter view is especially useful when planning milestones and deadlines. You can see
how much time there actually is between different due dates. Keep in mind, however, that
setting start dates for tasks is not available in the free plan.
Features:

DEPSTAR (CSE) 15
CS346 – Software Engineering 20DCS087

• Set priorities, deadlines and assign tasks and share details in one place.
• Create visual project plans to see how every step maps out over time.
• Address risks and report updates to stakeholders.
• Offers 100+ Asana integrations.

3.VersionOne
VersionOne is an all-in-one agile project management tool that can quickly adapt to any agile
software development methodology. It gives you an overview of the major features of
product
planning, release planning, sprint planning, and sprint track.
Features:
• End to end agile platform to plan all of your stories.
• Simple to use and it easily engages all teams.
• Improves visibility, shares information, and manage projects effectively.
• Plans, tracks, reports on all projects and portfolio.
• Improves visibility, shares information, and manage projects effectively.
• Plans, tracks, reports on all projects and portfolio.

4.LiquidPlanner:
LiquidPlanner is project management software that provides a better way to plan and execute
work.
It is a great alternative to JIRA due to its responsive approach to project management that is
grounded in reality. It makes managing projects dynamic by putting people and priorities at
the
core.
Features:
• Instant insight into progress risks and budgets.
• Easily customize and share dashboards with stakeholders and external clients.
• Track billable and non-billable costs with line-item expenses.
• Set expectations and share relevant information with the right audience.

5. N task

DEPSTAR (CSE) 16
CS346 – Software Engineering 20DCS087

If you’re looking for a tool for planning and managing a series of projects, nTask could just
be right for you. Of course, it will also be suitable for single project purposes.
It’s just that nTask is really good at providing you with the big picture of all your ongoing
projects. When it comes to planning a single project, you can create a list of tasks or a simple
Gantt chart. The assignments can also be viewed as a grid.
Features:
• Set priorities to different tasks to be assigned.
• Keep track of each task and the progress completed of it.
• Visualise the whole timeline plan by observing the same in the calendar.
• Collaborate with the team in different projects and preform complicated task.
• Visualise the budget, report and all the progress.

DEPSTAR (CSE) 17
CS346 – Software Engineering 20DCS087

CASE STUDY ON E-LEARNING

OVERVIEW:

E-learning is a type of learning conducted digitally via electronic media,


typically involving the internet. It can be accessed via most electronic devices
including a computer, laptop, tablet or smartphone, making it a versatile and easy
way for students to learn wherever they are.

It has revolutionized the conventional method of chalk and board style of learning
imparted to the students. Unlike this, e-Learning education makes giving and
receiving simpler, prolific, and productive.

Risk Analysis & Management


What is Risk?

"Tomorrow problems are today's risk." Hence, a clear definition of a "risk" is a


problem that could cause some loss or threaten the progress of the project, but
which has not happened yet.

These potential issues might harm cost, schedule or technical success of the
project and the quality of our software device, or project team morale.

Risk Management is the system of identifying addressing and eliminating these


problems before they can damage the project.

Different methods are required to address these two kinds of issues.

Risk Management

A software project can be concerned with a large variety of risks. In order to be


adept to systematically identify the significant risks which might affect a software
project, it is essential to classify risks into different classes. The project manager
can then check which risks from each class are relevant to the project.

There are three main classifications of risks which can affect a software project:

1.Project risks

2.Technical risks

3.Business risks

DEPSTAR (CSE) 18
CS346 – Software Engineering 20DCS087

1. Project risks: Project risks concern differ forms of budgetary, schedule,


personnel, resource, and customer-related problems. A vital project risk is
schedule slippage. Since the software is intangible, it is very tough to monitor and
control a software project. It is very tough to control something which cannot be
identified. For any manufacturing program, such as the manufacturing of cars, the
plan executive can recognize the product taking shape.

2. Technical risks: Technical risks concern potential method, implementation,


interfacing, testing, and maintenance issue. It also consists of an ambiguous
specification, incomplete specification, changing specification, technical
uncertainty, and technical obsolescence. Most technical risks appear due to the
development team's insufficient knowledge about the project.

3. Business risks: This type of risks contains risks of building an excellent


product that no one need, losing budgetary or personnel commitments, etc.

Principle of Risk Management


1. Global Perspective: In this, we review the bigger system description, design,
and implementation. We look at the chance and the impact the risk is going to
have.
2. Take a forward-looking view: Consider the threat which may appear in the
future and create future plans for directing the next events.
3. Open Communication: This is to allow the free flow of communications
between the client and the team members so that they have certainty about the
risks.
4. Integrated management: In this method risk management is made an
integral part of project management.
5. Continuous process: In this phase, the risks are tracked continuously
throughout the risk management paradigm.

DEPSTAR (CSE) 19
CS346 – Software Engineering 20DCS087

Case Study on Risk Management of E-Learning

TABLE 1:

Risk Risk Probabil Impa


Summary Category ity ct (1-
4)

DDos Technical 50% 2


Attack Risk

Database Programma 70% 2


Query tic Risk
Speed

Cross Operationa 40% 1


Browser l Risk
Compatibilit
ies

Huge Technical 50% 2


Traffic Risk
TABLE 2:

PROJECT NAME: E-LEARNING PLATFORM


RISK TYPE: Technical risk, Operational Risk
PRIORITY: 1, 2
RISK FACTOR: 1. Misplacement of objects in the software’s
UI or not responding factors.
2.
PROBABILITY: Technical Risk (60%), Operational Risk (70%)
IMPACT: Risk of loss due to improper process
implementation, failed system or some
external event risks.
MONITORING  Proper resource planning, communication
APPROACH: within the team and subject training will be
done.
 Continuously will change requirements,
reduce complexity, easy handling with recent
and advanced technology.
CONTENGENCY  Develop multiple models simultaneously.
PLAN:  Gather more data to improve performance of
model.
ESTIMATED  Additional time, people and functioning
RESOURCES: required.

DEPSTAR (CSE) 20
CS346 – Software Engineering 20DCS087

CONCLUSION:
Learnt about various software development planning tools and prepared detailed
case study on Risk Management of E-Learning platform.

DEPSTAR (CSE) 21

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