20DCS087 Practical 1-3
20DCS087 Practical 1-3
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:
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
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.
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
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
OVERVIEW:
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.
DEPSTAR (CSE) 5
CS346 – Software Engineering 20DCS087
of 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:
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:
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
FEATURES:
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:
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:
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:
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:
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:
DEPSTAR (CSE) 9
CS346 – Software Engineering 20DCS087
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.
DEPSTAR (CSE) 11
CS346 – Software Engineering 20DCS087
DEPSTAR (CSE) 12
CS346 – Software Engineering 20DCS087
o Once task completed can change the status in the roadmap section of the
completed task.
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
OVERVIEW:
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.
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
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
DEPSTAR (CSE) 19
CS346 – Software Engineering 20DCS087
TABLE 1:
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