UNIVERSITYOF BALLARAT S CHOOL OF S CIENCE , I NFORMATION T ECHNOLOGY & E NGINEERING ITECH6501 P RINCIPLES OF S OFTWARE E NGINEERING T EACHING P ERIOD 2012/17 INDIVIDUAL A SSIGNMENT (30 MARKS ) Page 2...

1 answer below »



UNIVERSITYOF BALLARAT S
CHOOL OF

S
CIENCE
, I
NFORMATION

T
ECHNOLOGY

& E
NGINEERING

ITECH6501 P
RINCIPLES OF

S
OFTWARE

E
NGINEERING

T
EACHING

P
ERIOD



2012/17

INDIVIDUAL

A
SSIGNMENT

(30

MARKS
)
Page 2 of 2
Your are required to conduct report and present an
evaluation
of one (1) of:
the following methodologies for software development in terms of time, cost and resources:
1. Extreme Programming (XP);

or


2. Lean Software Development (LSD).
You should:

Research
the area selected, primarily through library databases, journals and Internet

Apply
the laws learned in this course appropriate to this area

Evaluate
the potential benefits and risks, a SWOT analysis might be appropriate

Report
your findings, aiming your report at your IT manager
Your report will be evaluated on:
• The thoroughness of your research 8%
• The appropriate application of the laws 6%
• The reasonableness of your analysis, and 6%
• The clarity of your reported findings 10%
Reports should be structured according to the general guidelines for the presentation of academic work – available on:
http://www.ballarat.edu.au/aasp/student/learning_support/generalguide/
Suggested references to complement the prescribed textbook:
Pressman, R. S. (2009).
Software engineering : a practitioner's approach
(7th ed.). Dubuque, IA: McGraw-Hill.
Sommerville, I. (2007).
Software engineering
(8th ed.). New York: Addison-Wesley













Individual Report Marks


• Acceptable report format – refer to the library research site, esp. http://www.ballarat.edu.au/aasp/student/learning_support/generalguide/

Evidence of works


The report will be evaluated based on:
• Thoroughness of the research
• The appropriate application of the laws
• Reasonableness of the analysis, and
• Clarity of the reported findings




/8



/6



/6



/10


Total


/30



Answered Same DayDec 20, 2021

Answer To: UNIVERSITYOF BALLARAT S CHOOL OF S CIENCE , I NFORMATION T ECHNOLOGY & E NGINEERING ITECH6501 P...

Robert answered on Dec 20 2021
127 Votes
Contents
Introduction to Extreme Programming ...................................................................................... 4
Origins.................................................................................................................................... 4
Concept ...................................................................................................................................... 5
Goals ...................................................................................................................................... 5
Activities ................................................................................................................................ 5
Coding .................................................................................................................................... 5
Testing.................................................................................................................................... 6
Listening ................................................................................................................................ 6
Designing ............................................................................................................................... 6
Values .................................................................................................................................... 7
Communication .................................................................................................................. 7
Simplicity ................................................................................................
........................... 7
Feedback ............................................................................................................................ 8
Courage .............................................................................................................................. 8
Respect ............................................................................................................................... 9
Rules .................................................................................................................................. 9
Principles.......................................................................................................................... 10
Feedback .......................................................................................................................... 10
Assuming simplicity ........................................................................................................ 11
Embracing change ............................................................................................................ 11
SWOT of Extreme Programming Based upon Laws of Software Engineering....................... 11
Glass’ law............................................................................................................................. 11
Boehm’s first law ................................................................................................................. 12
Boehm’s second law ............................................................................................................ 13
Davis’ law ............................................................................................................................ 14
Curtis’ law ............................................................................................................................ 15
Simon’s law ......................................................................................................................... 16
Constantine’s law ................................................................................................................. 16
Parnas’ law ........................................................................................................................... 17
Denert’s law ......................................................................................................................... 18
Fitts–Shneiderman law......................................................................................................... 19
DeRemer’s law..................................................................................................................... 19
Corbató’s law ....................................................................................................................... 20
Dijkstra–Mills–Wirth law .................................................................................................... 21
Lanergan’s law ..................................................................................................................... 22
McIlroy’s law ....................................................................................................................... 22
Conway’s law....................................................................................................................... 23
Fagan’s law .......................................................................................................................... 24
Porter–Votta law .................................................................................................................. 25
Basili’s law........................................................................................................................... 25
Hetzel–Myers law ................................................................................................................ 26
Sackman’s first law .............................................................................................................. 26
Dijkstra’s law ....................................................................................................................... 27
Weinberg’s law .................................................................................................................... 27
Pareto–Zipf-type laws .......................................................................................................... 27
Gray–Serlin law ................................................................................................................... 28
Nielsen–Norman law ........................................................................................................... 28
Conclusion ............................................................................................................................... 29
References ................................................................................................................................ 30
Introduction to Extreme Programming
Extreme Programming (XP) is a computer code development methodology that is meant to
enhance computer code quality and receptiveness to dynamical client necessities. As a kind of
agile computer code development, it supporter‟s recurrent "publications" in brief development
cycles (timeboxing) that is meant to enhance output and introduce checkpoints wherever new
client necessities may be implemented.
Other parts of maximum Programming include: programming in couples or doing intensive code
review, unit testing of all code, avoiding programming of options till they're really required, a flat
management creation, ease and simplicity in code, visualization of changes within the customer's
necessities as time passes and therefore the drawback is best implicit, and regular communiqué
with the client and among programmers. the tactic takes its name from the thought that the
helpful parts of ancient computer code engineering practices are taken to "extreme" levels, on the
idea that if a little is nice, a lot of is best. (Software engineering)
Origins
Software development within the Nineties was formed by 2 major influences: internally,
object-oriented programming replaced routine programming because the programming
paradigm chosen by some within the industry; outwardly, the increase of the web and
therefore the dot-com flourishing emphasized speed-to-market and company-growth as viable
business factors. Speedily dynamical necessities required smaller product life-cycles, and
were typically incompatible with ancient ways of computer code development.
The Chrysler Comprehensive Compensation System was started so as to see the simplest
thanks to use object technologies, exploitation the payroll systems at Chrysler because the
object of analysis, with Smalltalk because the language and crystal because the knowledge
access layer. They transported in Kent motion, an outstanding Smalltalk practician, to try and
do performance calibration on the system, however his role distended as he noted many
issues they were having with their development method. Beck invited Bokkos Jeffries to the
project to assist progress and improve these ways. Jeffries thenceforth acted as a tutor to
instill the observes as conducts within the C3 team.
Concept
Goals
Extreme Programming Explained describes Extreme Programming as a software system-
development correction that classifies folks to supply higher quality software a lot of
fruitfully.
XP makes an attempt to scale back the value of changes in necessities by having many small
development cycles, instead of an extended one. During this belief, changes are a natural,
ineluctable and fascinating facet of software-development comes, and will be planned for,
rather than trying to outline a steady set of necessities.
Extreme programming conjointly familiarizes variety of basic values, values and applies on
prime of the agile programming framework.
Activities
XP describes four basic actions that are performed at intervals the package growth process:
cryptography, testing, attending, and planning.
Coding
The advocates of XP argue that the sole really necessary product of the system development
method is code –computer code directions that a pc will interpret. While not code, there's no
operating product.
Coding can even be wont to puzzle out the foremost appropriate answer. Committal to
writing can even facilitate to speak thoughts concerning programming issues. An applied
scientist addressing a fancy programming downside, or finding it onerous to elucidate the
answer to fellow programmers, may code it during a simplified way and use the code to
validate what he or she means that. Code, say the advocates of this situation, is often clear
and pithy and can't be taken in additional than a technique. Different programmers will offer
response on this code by additionally committal to writing their thoughts.
Testing
Extreme programming's method is that if a little testing will eradicate a couple of errors,
plenty of testing will eradicate more flaws.
Unit tests confirm whether or not a given feature works as meant. A computer programmer
writes as several machine-controlled tests as they'll think about that may "break" the code; if
all tests run with success, then the committal to writing is whole. Every bit of code that's
written is tested before affecting on to following feature.
Acceptance tests confirm that needs as unstated by the programmers satisfy the customer's
real requirements.
Listening
Programmers should hear what the purchasers want the system to try to; what "business
logic" is required. They need to perceive these desires to an adequate degree to administer the
client feedback concerning the technical aspects of however the matter can be solved, or can't
be solved. Communication between the client and computer programmer is additional self-
addressed within the designing Game.
Designing
From the purpose of read of straightforwardness, in fact one may say that system
development does not want over secret writing, testing and attending. If those activities are
achieved well, the result must always be a system that works. In observe, this may not work.
One will come back an extended method while not coming up with however at a given time
one can grind to a halt. The system becomes too advanced and therefore the addictions
among the system stop to be clear. One will avoid this by making a style assembly that
organizes the logic within the system. Sensible style can avoid countless dependencies among
a system; this suggests that dynamic one a part of the system won't have an effect on
alternative elements of the system.
Values
Recognized in 1999, second edition of XP came along with five values:
Communication
Building code systems needs act system necessities to the designers of the system. In formal
code development strategies, this task is talented through documentation. Extreme
programming methods are often watched as strategies for apace building and diffusing
recognized data among followers of a development team. The goal is to grant all developers a
shared read of the system that matches the read control by the users of the system. To the
present finish, extreme programming favors straightforward styles, shared similes,
partnership of users and programmers, recurrent verbal announcement, and feedback.
Simplicity
Extreme programming inspires beginning with the best resolution. Further practicality will
then be another later. The distinction between this approach and a lot of standard system
development strategies is that specialize in coming up with and committal to writing for the
requirements of nowadays rather than those of later. Proponents of XP recognize the
drawback that this may typically entail a lot of effort tomorrow modification to the system;
their claim is that this can be over stipendiary for by the benefit of not finance in attainable
future necessities which may change earlier they become applicable. Committal to writing
and coming up with for unsure future necessities implies the danger of paying possessions on
one thing which may not be required. Associated with the "communication" worth, simplicity
in style and committal to writing ought to improve the standard of communication. Easy style
with terribly simple code may be simply understood by most programmers within the team.
Feedback
Within extreme programming, response narrates to different magnitudes of the system
development:
Feedback from the client: The purposeful tests area unit written by the customer and also the
testers. They’re going to get concrete feedback regarding the present state of their system.
This review is deliberate once in each 2 or 3 weeks therefore the client will simply steer the
event.
Response from the team: once clients return up with new necessities within the coming up
with game the team directly provides an approximation of the time that it'll go for implement.
Feedback is closely associated with message and ease. Flaws within the system area unit
simply interconnected by inscription a unit take a look at that proves an explicit piece of code
can break. The direct response from the system tells programmers to rearrange this half.
Courage
Several practices embody spirit. One is that the directive to perpetually style and code for these
days and not for tomorrow. This is often a trial to avoid obtaining delayed in style and
necessitating lots of effort to device anything. Spirit allows developers to feel snug with
refactoring their code once essential. This implies reviewing the prevailing system and adjusting
it in order that future changes are often enforced a lot of simply. Another example of spirit knows
once to throw code away: spirit to get rid of ASCII text file that's obsolete, notwithstanding what
quantity effort was accustomed produce that ASCII text file. Also, spirit means that persistence: A
computer programmer can be stuck on a posh downside for a whole day, then solve the matter
quickly ensuing day, if solely they're persistent.
Respect
The respect price includes deference for others additionally as dignity. Programmers ought to
ne'er obligate changes that break collecting that create standing unit-tests fail, or that
otherwise postponement the work of their lords. Members reverence their own effort by
continually pains for top quality and pursuing for the simplest style for the answer at hand
through refactoring.
Assuming the four previous values ends up in respect increased from others within the team.
No one on the team ought to feel unacknowledged or unnoticed. These assurances a high
level of incentive and inspire faithfulness toward the group and toward the goal of the project....
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here