SPM2
SPM2
A software process model is an abstraction of the software development process. The models
specify the stages and order of a process. So, think of this as a representation of the order of
activities of the process and the sequence in which they are performed.
A model will define the following:
'The word process is sometimes used to emphasize the idea of a system in action. In order
to achieve an outcome, the system will have to execute one or more activities: this is its
process.
This idea can be applied to the development of computer-based systems where a number of
interrelated activities have to be undertaken to create a local product. These activities can be
organized in different ways and we can call these process models.
A major part of the planning will be the choosing of the development methods to be used and
the slotting of these into an overall process model.
The planner needs not only to select methods but also to specify how the method is to be
applied. With methods such as SSADM, there is a considerable degree of choice about how it
is to be applied: not all parts of SSADM are compulsory. Many student projects have the
rather basic failing that at the planning stage they claim. say. SSADM is to be used: in the
event, all that is produced are a few SSADM fragments such as a top level data flow diagram
and a preliminary logical data structure diagram. If this is all the particular project requires, it
should be stated at the outset.
Rapid Application
RAD is a linear sequential software development process model that emphasizes a concise
development cycle using an element based construction approach. If the requirements are well
understood and described, and the project scope is a constraint, the RAD process enables a
development team to create a fully functional system within a concise time period.
RAD (Rapid Application Development) is a concept that products can be developed faster and of
higher quality through:
The Agile software development methodology is one of the simplest and effective processes to turn a
vision for a business need into software solutions. Agile is a term used to describe software
development approaches that employ continual planning, learning, improvement, team collaboration,
evolutionary development, and early delivery. It encourages flexible responses to change.
The Agile methodology is a way to manage a project by breaking it up into several phases. It involves
constant collaboration with stakeholders and continuous improvement at every stage. Once the work
begins, teams cycle through a process of planning, executing, and evaluating. Continuous
collaboration is vital, both with team members and project stakeholders.
Methods involved :
1. Test Management is a process of managing the testing activities in order to ensure high
quality and high-end testing of the software application.
2. Development in project management includes following steps:
1. Brainstorming and planning.
2. Requirements and feasibility analysis.
3. Design.
4. Development & coding.
5. Integration and testing.
6. Implementation and deployment.
7. Operations and maintenance.
3. Project design is an early phase of the project where a project's key features,
structure, criteria for success, and major deliverables are all planned out. The aim is to
develop one or more designs that can be used to achieve the desired project goals.
4. Deploy:
Software deployment is one of the most important aspects of the software development
process. Deployment is the mechanism through which applications
1. Requirements:
The software requirements specification document lists sufficient and necessary requirements
for the project development.
Dynamic System Development Method
DSDM is an iterative code method within which every iteration follows the 80% rule that
simply enough work is needed for every increment to facilitate movement to the following
increment.
The remaining detail is often completed later once a lot of business
necessities are noted or changes are requested and accommodated.
DSDM is an Agile method that focuses on the full project lifecycle, DSDM (formally known as
Dynamic System Development Method) was created in 1994, after project managers using
RAD (Rapid Application Development) sought more governance and discipline to this new
iterative way of working.
1. Feasibility Study:
It establishes the essential business necessities and constraints related to the application to
be designed then assesses whether or not the application could be a viable candidate for the
DSDM method.
2. Business Study:
It establishes the use and knowledge necessities that may permit the application to supply
business value; additionally, it is the essential application design and identifies the
maintainability necessities for the application.
3. Functional Model Iteration:
It produces a collection of progressive prototypes that demonstrate practicality for the client.
Extreme Programming
Extreme programming (XP) is one of the most important software development frameworks of Agile
models. It is used to improve software quality and responsive to customer requirements. The extreme
programming model recommends taking the best practices that have worked well in the past in
program development projects to extreme levels.
Extreme Programming (XP) is an agile project management framework used in software
development. It prescribes everything, from how to organize projects and develop software, to how to
increase developers' productivity and what's the best way to collaborate on code.
Three practices of Extreme Programming:
Continuous Integration
Test-First (including Test-Driven Development and Behavior-Driven Development)
Refactoring,pair work, and collective ownership.
Some teams use other XP practices, such as a pair programming, and system metaphors
Empirical estimation models(Estimation models for computer software use empirically
derived formulas to predict effort as a function of LOC (line of code) or FP(function
point).Resultant values computed for LOC or FP are entered into an estimation model )
Managing People
1. Projects planning(Estimation determines how much money, effort, resources, and time it will
take to build a specific system or product )
2. Scope and feasibility(The functions and features that are to be delivered to end users.The
data that are input to and output from the system.The "content" that is presented to users as a
consequence of using the software)
3. Project resources(Each resource is specified with:A description of the resource.A statement
of availability,time when the resource will be required.The duration of time that the resource
will be applied Time window)
4. Estimation of project cost and effort(The accuracy of a software project estimate is
predicated on:The degree to which the planner has properly estimated the size (e.g.,
KLOC) of the product to be built.The ability to translate the size estimate into human
effort, calendar time, and money)
5. Decomposition techniques(Before an estimate can be made and decomposition
techniques applied, the planner must Understand the scope of the software to be built
Generate an estimate of the software’s size)
6. Empirical estimation models(Estimation models for computer software use empirically
derived formulas to predict effort as a function of LOC (line of code) or FP(function
point).Resultant values computed for LOC or FP are entered into an estimation model )