What Is The Difference Between Model and Methodology

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

. What is the difference between model and Methodology?

List popular Software models and


methodologies.
2. What is Extreme programming(xp)? It is a model or a methodology? What are the basic
practices in XP?
Extreme Programming (or XP) is a set of values, principles and practices for rapidly
developing high-quality software that provides the highest value for the customer in the
fastest way possible. XP is extreme in the sense that it takes 12 well-known software
development "best practices" to their logical extremes -- turning them all up to "10".
Extreme Programming is a methodology. It is a light weighted, repeatable process for
developing software.
Basic Practices in XP:
1.The Planning Game: Business and development cooperate to produce the maximum
business value as rapidly as possible. The planning game happens at various scales, but
the basic rules are always the same:
1.Business comes up with a list of desired features for the system. Each feature is
written out as aUser Story, which gives the feature a name, and describes in
broad strokes what is required. User stories are typically written on 4x6 cards.
2. Development estimates how much effort each story will take, and how much
effort the team can produce in a given time interval (the iteration).
3. Business then decides which stories to implement in what order, as well as when
and how often to produce a production releases of the system.
2. Small Releases: Start with the smallest useful feature set. Release early and often, adding
a few features each time.
3. System Metaphor: Each project has an organizing metaphor, which provides an easy to
remember naming convention.
4. Simple Design: Always use the simplest possible design that gets the job done. The
requirements will change tomorrow, so only do what's needed to meet today's
requirements.
5. Continuous Testing: Before programmers add a feature, they write a test for it. When
the suite runs, the job is done. Tests in XP come in two basic flavors.
1.Unit Tests are automated tests written by the developers to test functionality as
they write it. Each unit test typically tests only a single class, or a small cluster of
classes. Unit tests are typically written using a unit testing framework, such
asJU n it.
2. Acceptan ce Tests (also known asFunctional Tests) are specified by the
customer to test that the overall system is functioning as specified. Acceptance
tests typically test the entire system, or some large chunk of it. When all the
acceptance tests pass for a given user story, that story is considered complete. At
the very least, an acceptance test could consist of a script of user interface actions
and expected results that a human can run. Ideally acceptance tests should be
automated, either using the unit testing framework, or a separate acceptance
testing framework.
6. Refact o ri n g: Refactor out any duplicate code generated in a coding session. You can do
this with confidence that you didn't break anything because you have the tests.
7. Pair Programming: All production code is written by two programmers sitting at one
machine. Essentially, all code is reviewed as it is written.
8. Collective Code Ownership: No single person "owns" a module. Any developer is
expect to be able to work on any part of the codebase at any time.
9. Continuous Integration: All changes are integrated into the codebase at least daily. The
tests have to run100% both before and after integration.
10.40- Hour Work Week: Programmers go home on time. In crunch mode, up to one week
of overtime is allowed. But multiple consecutive weeks of overtime are treated as a sign
that something is very wrong with the process.
11.O n-si t eCust omer:Development team has continuous access to a real live customer, that
is, someone who will actually be using the system. For commercial software with lots of
customers, a customer proxy (usually the product manager) is used instead.
12.Coding Standards: Everyone codes to the same standards. Ideally, you shouldn't be able
to tell by looking at it who on the team has touched a specific piece of code.
3. What are the differences between generic software product development and custom
software development?
Generic software product is the one, which is developed for general purpose. Custom software
development is done to satisfy a particular need of a particular client.Generic purpose software
development is tough as compared with custom made, not by the skills required to develop the
application but by the design and marketing point of view.
InGeneric software product design and development, you will need to "imagine" what an
end-user requires. Here, the term "end - user" has no face, you have to imagine it. Market Surveys and
general Customer Demand analysis may help a company to reduce the risk factor and think about some
innovations over existing similar solutions.
On the other hand, in Custom Software development, you have a specific face of "end - user" in front of
you. You know whom you need to satisfy. Understanding the need and Analyzing it to get the best out of
it is a challenge here. Planning and reaching the goals within dead-line adds a value to your software
development excellence as a professional service provider.
4.What are the four important attributes which all software products should have? Suggest four
other attributes that may sometimes be significant.
5. What is the difference between a software process model and a software process? Suggest
Two ways in which a software process model might be helpful in identifying possible process
Improvements
Software Process: (Action plan)
A set of activities undertakes to manage, develop and maintain software systems. In other words, the
software process focuses on the construction tasks rather than the output products. It specifies

techniques to perform the tasks, the actors who execute the activities, their roles and the artifacts
produced.
Software process model:
A software process model is an abstract representation of the software process. It is a Plan of Action.
It's a concept. A concept built upon client-customer satisfaction. A concept built upon getting the task or
project completed in the most effective and efficient manner using technology and technique.
A concept which looks to forewarn the participants in the task or project, about various factors that would
be a constraint in the near future. A holistic guestimation and estimation to get the work done right and
right away.
1. A workflow model this shows the sequence of activities in the process along
With their inputs, outputs and dependencies. The activities in this model represent
human actions.
2. A dataflow or activity model This represents the process as a set of activities,
each of which carries out some data transformation. It shows how the input to
the process, such as a specification, is transformed to an output, such as a design.
The activities here may represent transfOJmations carried out by people or by
computers.
3. A role/action model This represents the roles of the people involved in the software
process and the activities for which they are responsible .
6. Software engineering methods became widely used only when CASE technology became
available to support them. Suggest five types of method support that can be provided by case
tools.
Five Types of Method Support of CASE tools
Analysis: Requirement analyzing, time estimation methods are also part of CASE tools.
Designing: CASE tools include Text, diagram, and word editor for designing software.

You might also like