0% found this document useful (0 votes)
15 views20 pages

Micro-Project Report (SEN) 2020

juyyugyu

Uploaded by

Soham Gharge
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)
15 views20 pages

Micro-Project Report (SEN) 2020

juyyugyu

Uploaded by

Soham Gharge
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/ 20

Evaluation Sheet For the Micro Project

Roll_No’s of Students: Enrollment no.:


Name of Programme: Software Engineering Semester: Second(IF4I)

Course title: Computer Networks Course code:22413

Title of the micro project: Extreme Programming

Course outcomes achieved:


o Select suitable Software Process model for software development.
o Prepare software requirement specification.
o Use software modelling to create data designs.
o Estimate size and cost of software product.
Process assessment Product Assessment Total
Part A – Project Part B – Individual Marks
project methodology project presentation/viv (10)
proposal (2 marks) report/workin a
(2 marks) g model (4 marks)
(2 marks)

Comments/Suggestions about team work/leadership/inter personal communication


(if any):
Any other comment:
Name and designation of the faculty member: D.P. Sapkal (Lecturer)

Signature:
Enrollment Student Name Marks out Marks out of Total out
No. of 6 for 4 for of 10
performance individual
in group performance
activity

1701160174 Akshay
Bangar

1801160175 Atharv
Gharge

1801160185 Aneesh
Phaphale

1801160181 Gaurav
Rahate
A Micro-Project Report
Of
(Extreme Programming)
Submitted by
In partial fulfilment if the requirement for the diploma in
Information Technology Department

UNDER GUIDENCE OF
PROF. D.P. Sapkal

GOVERNMENT POLYTECHNIC
THANE
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(2019-20)
GOVERNMENT POLYTECHNIC THANE

CERTIFICATE

This is to certified that following Second year Information Technology


students have successfully and satisfactory completed their micro project
work, entitled “Extreme Programming” in partial fulfilment of the
requirement for diploma in Information Technology academic year
2019-2020.

Mr. Atharv M. Gharge.


Mr. Akshay Bangar.
Mr. Aneesh Phaphale
Mr. Gaurav Rahate.

Smt. D.P. Sapkal Smt. D. P. Sapkal Dr . N. N. Mhala


Subject Teacher Incharge H.O.D.
PRINCIPAL
Table of Contents
Sr. Topics Page No.
No
.
1 Rationale
2 Aim of Micro Project
3 Course Outcome Integrated
4 Literature Review
5 1. Actual Description
6 Actual Resources Used
7 Output of Micro-Project
8 Skill Developed/Learning outcome of this Micro-
Project
9 Application of this Micro-Project
1. Rationale:
 Extreme Programming is a software development methodology designed to
improve the quality of software and its ability to properly adapt to the
changing needs of the customer or client.
 During the mid and late nineties, while working on the Chrysler
Comprehensive Compensation System (C3) to help manage the company’s
payroll, software engineer Ken Beck first developed the Extreme
Programming methodology. In October 1999, he published Extreme
Programming Explained, detailing the entire method for others, and shortly
thereafter the official website was launched as well.
 Similar to other Agile Methods of development, Extreme Programming aims
to provide iterative and frequent small releases throughout the project,
allowing both team members and customers to examine and review the
project’s progress throughout the entire SDLC.

2. Aim of the Micro-Project :


This Micro-Project aims at:

 The aim of this project is to study about Extreme Programmig in details.


 Extreme Programming is a software development methodology designed to
improve the quality of software and its ability to properly adapt to the
changing needs of the customer or client.

3. Course Outcome Integrated in this project:

 Select suitable Software Process model for software development.


 Prepare software requirement specification.
 Use software modelling to create data designs.
 Estimate size and cost of software product.

4. Literature Review:

 The Literature review of Extreme Programming contains some Reference


books of Software Engineering from which we studied five fundamentals
values(Simplicity, Communication, Feedback, Respect, Courage) that
provides foundation on which the entirety of the Extreme Programming
paradigm is built.
 The Google is said to be treasure of knowledge.so on top of that we used
websites that gives detailed information and knowledge about the Extreme
Programming topic of Software Engineering.
 The Websites used are as follows:

1. https://airbrake.io/blog/sdlc/extreme-programming
2. http://www.extremeprogramming.org/
3. https://www.geeksforgeeks.org/software-engineering-extreme-
programming-xp/

5. Actual Description:

 Idea of Extreme Programming:

 With software engineering such a fast-paced environment, traditional


project management approaches are no longer viable. That means that IT
professionals must find new ways to handle frequently changing
development tasks. Sharing this idea and focusing on the existing
incremental development techniques, 17 software specialists introduced
the Agile project management philosophy in 2001. Principles of flexible,
fast, and collaboration-centered software development were outlined in
the Agile Manifesto. Extreme Programming (XP) is one of the numerous
Agile frameworks applied by IT companies. But its key feature — emphasis
on technical aspects of software development — distinguishes XP from the
other approaches.
 Software engineer Ken Beck introduced XP in the 90s with the goal of
finding ways to writing high-qualitative software quickly and being able to
adapt to customers’ changing requirements. In 1999, he refined XP
approaches in the book Extreme Programming Explained: Embrace
Change. XP is a set of engineering practices. Developers have to go beyond
their capabilities while performing these practices. That’s where the
extreme in the framework’s title comes from. To get a better understanding
of these practices, we’ll discuss XP’s values and principles first.

 Values and principles of Extreme Programming:

 XP has simple rules that are based on 5 values:

o Communication: Everyone on a team works jointly at every stage of the


project.

o Simplicity: Developers strive to write simple code bringing more value to


a product, as it saves time and efforts

o Feedback: Team members deliver software frequently, get feedback


about it, and improve a product according to the new requirements.

o Respect: Every person assigned to a project contributes to a common goal

o Courage: Programmers objectively evaluate their own results without


making excuses and are always ready to respond to changes.
 These values represent a specific mindset of motivated team players who do
their best on the way to achieving a common goal. XP principles derive from
these values and reflect them in more concrete ways.

 Most researchers denote 5 XP principles as:

o Rapid feedback: Team members understand the given feedback and react
to it right away.

o Assumed simplicity: Developers need to focus on the job that is


important at the moment and follow YAGNI (You Ain’t Gonna Need It)
and DRY (Don’t Repeat Yourself) principles.

o Incremental changes: Small changes made to a product step by step


work better than big ones made at once

o Embracing change: If a client thinks a product needs to be changed,


programmers should support this decision and plan how to implement new
requirements.

o Quality work: A team that works well, makes a valuable product and
feels proud of it.

 Now it’s time to learn about practices that turn a software development
group into dream teams.

 Extreme Programming Practices:

 XP suggests using 12 practices while developing software. As XP is


defined by values and principles, its practices also represent them and can
be clustered into four groups.
o Test-Driven Development:
Is it possible to write a clear code quickly? The answer is yes, according to
XP practitioners. The quality of software derives from short development
cycles that, in turn, allow for receiving frequent feedback. And valuable
feedback comes from good testing. XP teams practice test-driven
development technique (TTD) that entails writing an automated unit test
before the code itself. According to this approach, every piece of code must
pass the test to be released. So, software engineers thereby focus on writing
code able to accomplish the needed function. That’s the way TDD allows
programmers to use immediate feedback to produce reliable software. You
can learn more about improving software testing in our dedicated article.

o The Planning Game:


This is a meeting that occurs at the beginning of an iteration cycle. The
development team and the customer get together to discuss and approve a
product’s features. At the end of the planning game, developers plan for
the upcoming iteration and release, assigning tasks for each of them.

o On-site Customer:
According to XP, the end customer should fully participate in
development. The customer should be present all the time to answer team
questions, set priorities, and resolve disputes, if necessary.

o Pair Programming:
This practice requires two programmers to work jointly on the same code.
While the first developer focuses on writing, the other one reviews code,
suggests improvements, and fixes mistakes along the way. Such teamwork
results in high-quality software, faster knowledge sharing but takes 15 to
60 percent more time. In this regard, it’s more reasonable trying pair
programming for long-term projects.

o Code Refactoring:
To deliver business value with well-designed software in every short
iteration, XP teams also use refactoring. The goal of this technique is to
continuously improve code. Refactoring is about removing redundancy,
eliminating unnecessary functions, increasing code coherency, and at the
same time decoupling elements. Keep your code clean and simple, so you
can easily understand and modify it when required would be the advice of
any XP team member.

o Continuous Integration:
Developers always keep the system fully integrated. XP teams take iterative
development to another level because they commit code multiple times a
day, which is also called continuous delivery. XP practitioners understand
the importance of communication. Programmers discuss which parts of the
code can be re-used or shared. This way, they know exactly what
functionality they need to develop. The policy of shared code helps
eliminate integration problems. In addition, automated testing allows
developers to detect and fix errors early, before deployment.
o Small Releases:
This practice suggests releasing the first version quickly and further
developing the product by making small and incremental updates. Small
releases allow developers to frequently receive feedback, detect bugs early,
and monitor how the product works in production. One of the methods of
doing so is the continuous integration practice (CI) we mentioned before.

o Simple Design:
The best design for software is the simplest one that works. If any
complexity is found, it should be removed. The right design should pass all
tests, have no duplicate code, and contain the fewest possible methods and
classes. It should also clearly reflect the programmer’s intent.

XP practitioners highlight that chances to simplify design are higher after


the product has been in production for some time. Don Wells advises
writing code for those features you plan to implement right away rather
than writing it in advance for other future features: “The best approach is to
create code only for the features you are implementing while you search for
enough knowledge to reveal the simplest design. Then refactor
incrementally to implement your new understanding and design.”

o Coding Standards:
A team must have common sets of coding practices, using the same formats
and styles for code writing. Application of standards allows all team
members to read, share, and refactor code with ease, track who worked on
certain pieces of code, as well as make the learning faster for other
programmers. Code written according to the same rules encourages
collective ownership.

o Collective Code Ownership:


This practice declares a whole team’s responsibility for the design of a
system. Each team member can review and update code. Developers that
have access to code won’t get into a situation in which they don’t know the
right place to add a new feature. The practice helps avoid code duplication.
The implementation of collective code ownership encourages the team to
cooperate more and feel free to bring new ideas.

o System Metaphor:
System metaphor stands for a simple design that has a set of certain
qualities. First, a design and its structure must be understandable to new
people. They should be able to start working on it without spending too
much time examining specifications. Second, the naming of classes and
methods should be coherent. Developers should aim at naming an object as
if it already existed, which makes the overall system design understandable .

o Programmer’s work conditions:


40-Hour Week. XP projects require developers to work fast, be efficient, and
sustain the product’s quality. To adhere to these requirements, they should feel
well and rested. Keeping the work-life balance prevents professionals from
burnout. In XP, the optimal number of work hours must not exceed 45 hours a
week. One overtime a week is possible only if there will be none the week after.

 When to use XP:


 It’s important to make sure a company’s size, structure, and expertise, as
well as the staff’s knowledge base allow for applying XP practices. These
are the factors to consider.

o Highly-adaptive development. XP was designed to help development


teams adapt to fast-changing requirements.
o Risky projects. Teams applying XP practices are more likely to avoid
problems connected with working on a new system, especially when a
product owner sets strict deadlines for a project.
o Small teams. XP practices are efficient for teams that don’t exceed 12
people.
o Automated testing. Another factor that can influence the choice of XP is
the developers’ ability to create and run unit tests.
o Available customer participation. As XP requires customers, developers
and managers work side-by-side, make sure your client can spend time in
the office until a project ends.
6. Actual Resources Used:

Sr.No. Resources Details

1. Software Engineering Detail book Nirali


Publ.)

2. Ms-Word software Ms-office 2019

3. https://www.altexsoft.com/blog/business/ Google
extreme-programming-values-principles-
and-practices/website

4. Hardware Window 10, RAM


4GB,
ROM 1TB

7. Output of the Micro-Project:


 We studied the topic Extreme Programming in detail with the following
conclusion:

 Extreme Programming is a software development approach based on values of


simplicity, communication, feedback, and courage.
 Companies that build their workflow on XP principles and values create a
competitive yet motivational atmosphere within and between teams.
Programmers appreciate each other’s project input, deliver software quickly
because they can distinguish relevant tasks from unnecessary ones. They react
quickly to feedback realizing it’s a reasonable criticism aimed at making a
product better.
 XP teams don’t consider each technical challenge as a problem but think of it
as a way to develop skills.

8. Skill Developed/Learning outcome of this


MicroProject
:
 We got familiar with basic concepts of Extreme Programming.
 We got familiar with the concepts of five fundamentals values(Simplicity,
Communication, Feedback, Respect, Courage) that provides foundation on
which the entirety of the Extreme Programming paradigm is built..

9. Application of Micro-project:
 Any software development company can use the method of
Extreme Programming while performing its projects. The only
thing they should do before working with XP is to understand its
main principles and theoretical basics.
 Most of the researchers and developers agree that Extreme
Programming should be applied to systems that have no constant
functionality features. If the system should often change its
functions it requires the use of Extreme Programming method.

_________________ END_____________________
 Actual Resources Used:

Sr.No. Resources Details

1. Java Programming Language Detail book Nirali


Publ.)

2. Ms-Word software Ms-office 2019

3. https://www.javatpoint.com/java- Google
tutorial
website

4. Hardware Window 10, RAM


4GB,
ROM 1TB

5. jdk 13.0.1

 Output Of the Micro-Project:


 Login:

 Deposit Amount:

 Withdraw amount:
 Display Account Details:
 Skill Developed/Learning outcome of this Micro-
Project:
 We got familiar with basic concepts of Online Banking System.
 We got familiar with the concepts of Java Programming Language like
Inheritance, conditional loops while coding on software called jdk (Java
Development Kit) very clearly.
 Skill developed of using various system built Java packages according to its
use in program.

 Applications of Micro-Project:

 The Online Banking System is applicable to various mobile applications


which can be operated by sitting home.
 So the money transaction, money withdrawal , account details all this
activities regarding bank can be performed easily with security in home.

End
__________________________________________________________
__________________

You might also like