ASSIGNMENT
DRIVE SUMMER 2016
PROGRAM MCA(REVISED FALL 2012)
SEMESTER 5
SUBJECT CODE & NAME MCA5020-ADVANCEDSOFTWARE ENGINEERING
BK ID B1636
CREDITS 4
MARKS 60
Note: Answer all questions. Kindly note that answers for 10 marks questions should
be approximately of 400 words.
Q.No Question Marks Total
Marks
1
What do you mean by product life cycle? Explain the seven
stages of product life cycle 3+7 10
Ans:
The productlife cycle has 4 very clearly defined stages,each with its own
characteristics thatmean differentthings for business thatare trying to manage the
life cycle of their particular products.
Introduction Stage – This stage of the cycle could be the mostexpensive for a
companylaunching a new product. The size of the marketfor the product is small,
which means sales are low,although they will be increasing.On the other hand,the
costof things like research and development,consumer testing,and the marketing
needed to launch the product can be very high, especiallyif it’s a competitive sector.
Growth Stage – The growth stage is typically characterized by a strong growth in
sales and profits,and because the companycan start to benefitfrom economies of
scale in production,the profit margins,as well as the overall amountof profit, will
increase.This makes itpossible for businesses to investmore moneyin the
promotional activity to maximize the potential of this growth stage.
Maturity Stage – During the maturity stage,the productis established and the aim
for the manufacturer is now to maintain the marketshare they have builtup. This is
probablythe mostcompetitive time for mostproducts and businesses need to invest
wiselyin any marketing they undertake. They also need to consider any product
modifications or improvements to the production process which mightgive them a
competitive advantage.
Decline Stage – Eventually, the marketfor a productwill start to shrink,and this is
what’s known as the decline stage.This shrinkage could be due to the market
becoming saturated (i.e.all the customers who will buythe product have already
purchased it),or because the consumers are switching to a differenttype of product.
While this decline may be inevitable, it may still be possible for companies to make
some profitby switching to less-expensive production methods and cheaper markets.
Development: Before a productcan have a life, it needs to be developed.A lot of
manufacturers investheavilyin new productdevelopment,which can be a process
that takes a lot of time and money, depending on the type of product and the market.
Developmentinvolves creating a productto sell,butcompanies also need to gain an
understanding ofthe marketthe productwill eventually be sold into. Only by creating
a productthat is in line with what the marketwill want is a manufacturer going to be
successful;which is perhaps whysome would argue thatthis is one of the most
importantstages ofthe product life cycle.
Withdrawal: During the Introduction and Growth stages ofthe productlife cycle, most
manufacturers are focused on increasing their profits by developing the marketand
improving their sales.While some companies will also be able to reduce their costs
through economies ofscale,it is during the Withdrawal stage thatcost management
becomes even more important.Once the decision is made and a productis
withdrawn,all sales stop.Therefore it’s importantthatmanufacturers are prepared for
this eventuality and make the right decisions atthe right time.Having a plan in place
to minimize their costs as they withdraw from a market, or even developing a new
productthat can take advantage of the established infrastructure and routes to
market,is essential.
2 List any ten major principles of agile software. 10 10
Ans:
I think make agile fundamentally different to a more traditional
waterfall approach to software development. They are:
1. Active user involvement is imperative.
2. The team must be empowered to make decisions
3. Requirements evolve but the timescale is fixed
4. Capture requirements at a high level; lightweight & visual
5. Develop small, incremental releases and iterate
6. Focus on frequent delivery of products
7. Complete each feature before moving on to the next
8. Apply the 80/20 rule
9. Testing is integrated throughout the project lifecycle – test early and
often
10. A collaborative & cooperative approach between all stakeholders
is essential
XP (eXtreme Programming) breaks requirements down into small
bite-size pieces called User Stories. These are fundamentally similar
to Use Cases but are lightweight and more simplistic in their nature.
3
List the four developer practices of XP. Explain briefly about
Adopt test-driven development. 4+6 10
Ans:
The four developer practices of XP are: o Adopt test-driven development o
Practice pair programming o Adopt collective ownership o Integrate
continually The main reason for adopting test-driven development practice
is to prove that the code developed works based on the requirement. XP
emphasizes the need for testing every code as and when it is developed. You
must test the code to check if the code actually does what it is intended to do
and if anything can make the code to behave erratically. Usually traditional
testing is carried out by writing test cases to check the conditions under
which the software fails. But XP also writes test cases to find out if the
software passes the test
4 Briefly explain about tracker and coach in XP. 5+5 10
Ans:
A tracker is a person who keeps track of the schedule. A tracker can be a
manager or a trusted developer. XP keeps track of certain metrics that
include team velocity. This is the ratio of ideal time estimated for
accomplishing a task to the actual time spent implementing them. The
tracker also includes other data such as change in velocity, overtime worked,
and the ratio of passing tests to failing tests….
A coach is a person who is highly respected and has experience in guiding
and mentoring the team. Having a coach can be helpful when adopting XP.
It could be difficult to apply XP consistently. An XP team requires certain
skills that may take some time to develop. Also there are certain occasional
obstacles and subtleties that need the guidance of a master. Thus, a coach's
main quality is experience….
5 Explain XP prerequisites. 10 10
Ans:
The following are the prerequisites for adopting XP:
Team agreement: The team’s agreement to use XP is as important as
management support. If team members do not want to use XP, it’s not likely
to work. XP assumes that each team member’s willingness to adopt it.
A collocated team: XP relies on high-frequency and high-speed
communication for most of its practices.
On-site customers: On-site customers are essentialto the success of an XP
team. They, led by the product manager, decide which features the team will
develop.
The right team size: According to the proponents of XP, certain factors
make some projects well suited for this methodology. The first major issue
is the size of the team.
Use all XP practices: XP utilizes all the resources of the project efficiently.
It also ensures that every practice directly contributes to the development of
valuable software.
6 List and explain any five basic principles of DSDM 5*2 10
Ans:
DSDM consists of nine basic principles. These principles form the
cornerstones of development using DSDM and direct how
development progresses.
Active user involvement is imperative
User involvement is the main key in running a well-organized and
successful
project. Both users and developers share a common workplace, so
that the
decisions are made collaboratively and quickly.
Teams must be authorized to make decisions
Ensure that the members of the team are authorized to take decisions
that
are important for the progress of the project, on behalf of those they
represent without waiting for sophisticated approval.
Focus on frequent delivery
DSDM focuses on frequent delivery with the assumption that to deliver
something ‘satisfactory’, earlier is better than to deliver everything
‘perfectly’
in the end. The product is rested and reviewed if the product is
delivered
frequently from an early stage of the project. The test record and
review
document is then taken into account at the next iteration or phase.
Fitness for business objective is the key criterion for acceptance
of
deliverables
The main criterion for acceptance of deliverables in DSDM is on
delivering a
system that deals with the current business needs. It is not so greatly
focused at delivering a perfect system addressing all possible
business
needs, but focuses its efforts on critical functionality.
Iterative and incremental development is mandatory
DSDM allows systems to expand incrementally. The development is
iterative and incremental, driven by users’ feedback to run an effective
business solution.
Ability to reverse all the changes made during development
To control the evolution of all products, everything must be in a known
situation at all times. This is exclusive within the Agile approaches and
necessitates a strong source control system.
Baseline high-level requirements
Ensures control and allows flexibility. This provides the DSDM team a
better idea about the requirements and scope of the system at each
level.
Integrate testing throughout the life-cycle
Integrated testing is crucial for the success and quality of the project.
As the development proceeds incrementally, users and developers
incrementally do the testing to check that the development is going in
the right business and is technically correct.
Collaborative and cooperative approach
There must be a collaborative and cooperative approach between all
the stakeholders.