Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Software Process Models 2 Eng 29

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

www.gradeup.

co

1 | Page
www.gradeup.co
Software Process Models 2:

Content :-

1. Project Management

2. Aspect – Oriented Software Development

3. Extreme Programming

4. Principle of Extreme Programming

5. Agile Process Model

6. Phases of Agile Process Model

7. Adaptive Software Development

8. Scrum

9. Web engineering

Project Management: It is the process of leading the work of a team to achieve


goals and meet success criteria at a specified time. Itis to achieve all of
the project goals within the given constraints.

• Five phases of project management include conception

and initiation, planning, execution, performance and project close.

1: Project Initiation

The start of the project, and the goal of project is to define the project at
a broad level. This phase usually begins with a business case. This is when you
will research whether the project is feasible and undertaken.

2 | Page
www.gradeup.co
2: Project Planning
This phase is key to successful project management and focuses on developing
a roadmap that each will follow. This phase typically begins with setting goals.

3: Project Execution
The phase where deliverable are developed and completed. This feels like the
meat of the project since a more is happening during a time, like status reports
and meetings, development updates, and performance reports.

4: Project Performance/Monitoring
This is all about measuring project progression and performance and ensuring
that everything happening aligns with the project management plan. Project
managers will use key performance indicators to determine if the project is on
track.

5: Project Closure
This phase represents the completed project. Contractors hired to work
specifically on the project are terminated at this time. Valuable team members
are recognized.

Aspect – Oriented Software Development: It is a software technology that seeks


new modularization of software systems in order to isolate secondary or
supporting functions from the main program's business logic.

It describes a number of approaches to software modularization and composition


including, in order of publication, reflection .

It considers that code scattering and tangling are the symptoms of crosscutting
concerns.

Example: Coordination of components


It represents the UML architecture diagram of a telecom component. Each box corresponds to a
process that communicates with other processes through connectors.

3 | Page
www.gradeup.co
Extreme Programming:It is a software development methodology which is
intended to improve software quality and responsiveness to changing customer
requirements. It takes its name from the idea that the beneficial elements of
traditional software practices are taken to "extreme" levels.

Principle of extreme programming:It 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 atmosphere.

Framework used in software development. It prescribes everything, from how to


organize projects and develop software.

Agile Process Models:Agile SDLC model is a combination of iterative and incremental


process models with focus on process adaptability and customer satisfaction by rapid
delivery of working software product. Agile Methods break the product into small
incremental builds. These builds are provided in iterations. Each iteration typically lasts
from about one to three weeks. Every iteration involves cross functional teams working
simultaneously on various areas like –

• Planning
• Requirements Analysis
• Design

• Coding
• Unit Testing and
• Acceptance Testing.
Agile model believes that every project needs to be handled differently and the existing
methods need to be tailored to best suit the project requirements. In Agile, the tasks are
divied to time boxes (small time frames) to deliver specific features for a release.Iterative
approach is taken and working software build is delivered after each iteration. Each build
is incremental in terms of features; the final build holds all the features required by the
customer.

4 | Page
www.gradeup.co
The Agile thought process had started early in the software development and started
becoming popular with time due to its flexibility and adaptability.

Advantages are:

• It is very realistic approach to software development.


• Promotes teamwork and cross training.
• Functionality can be developed rapidly and demonstrated.
• Resource requirements are minimum.
• Suitable for fixed or changing requirements
• Delivers early partial working solutions.

• Good model for environments that change steadily.


• Minimal rules, documentation easily employed.

Disadvantages are:

• Not suitable for handling complex dependencies.


• More risk of sustainability, maintainability and extensibility.
• A combined plan, an agile leader and agile PM practice is a must without which it will not
work.
• Strict delivery management say something to the scope, functionality to be received, and
adjustments to meet the deadlines.
• Depends on customer interaction, if customer is not clear, team can be driven in the
wrong direction.

5 | Page
www.gradeup.co

Phases of Agile Model:

1. Requirements gathering: In this, user must define the requirements. User should explain

business opportunities and plan time and effort needed to build the project. Depend on this

information, user can evaluate technical and economic feasibility.

2. Design the requirements: When you have identified the project, work with stakeholders to

define requirements.

3. Construction/ iteration: When the team defines the requirements, the work begins. Designers

and developers start working on their project, which goals to deploy a working product. The

product will undergo some stages of improvement, it includes simple, minimal functionality.

4. Testing: In this phase, the Quality Assurance team examines the product's performance

and looks for the bug.

5. Deployment: The team issues a product for the user's work environment.

6. Feedback: After producing the product, the last step is feedback, the team receives feedback

about the product and works through the this.

Adaptive Software Development: It is a software development process that


grew out of rapid application development work by Jim Highsmith and Sam Bayer.
It is design principle for the creation of software systems. It focuses on the
evolution of software systems. It grew out of the rapid application development
method.

6 | Page
www.gradeup.co
It replaced the waterfall cycle with a repeating series of speculate,
collaborate, and learn cycles. Cycle provides for continuous learning and
adaptation to the emergent state of the project.

Characteristics of an ASD life cycle is that it is mission focused, feature based,


iterative.

The focus of this is in the computer code. Instead of planning the program
out before hand, developers have a basic idea in their heads and they go to
work. If software needs a patch, somebody just makes it.

Scrum:It is an agile process most commonly used for product development,


especially software development. It is a management framework that is applicable
to any project with aggressive deadlines, complex requirements.

Process:It is a framework that helps teams work together.This is the reasons it is


so popular. An agile project management framework, it describes a set of
meetings, tools, and roles that work in concert to help teams structure.

Three pillars of Scrum are:

• Transparency
• Inspection
• Adaptation

Principles:
• Control over the empirical process. Transparency, checking, and adaptation carry
the whole its methodology.
• Self-organization.
• Collaboration.

7 | Page
www.gradeup.co
• Value-based prioritization.
• Timeboxing.
• Iterative development.

It is an agile development process focused primarily on ways to arrange tasks in team-based


development conditions.

There are three roles in it, and their responsibilities are:


• Scrum Master: The scrum can develop the master team, combine the meeting and
remove obstacles for the process
• Product owner: The product owner makes the product backlog, prioritizes the delay
and is responsible for the distribution of functionality on each repetition.
• Scrum Team: It manages the work and organizes the work to complete the sprint.

Feature Driven Development Crystal: It consists of five basic activities, namely,


the development of an overall model, the building of a feature list, the planning
by feature, the designing by feature.The main purpose is to deliver tangible,
working software repeatedly in a timely manner.

It is customer-centric, iterative, with the goal of delivering tangible software results


often and efficiently. It is in Agile encourages status reporting at all levels, which
helps to track progress and results.

Practice that make up FDD are:


• Domain Object Modeling.
• Developing by Feature.
• Individual Class (Code) Ownership.
• Feature Teams.
• Inspections.

8 | Page
www.gradeup.co
Web Engineering: It is the application of systematic, disciplined and quantifiable
approaches to development, operation, and maintenance of Web-based
applications. Both pro-active approach and a growing collection of theoretical and
research in Web application development.
It is basically all about designing and promoting web based systems. “The
project of systematic and quantity approaches to cost-effective analysis, design,
implementation, testing, and maintenance of high-quality Web applications.
It is concerned with the developed and use of sound scientific, engineering, and
management principles and disciplined and systematic approaches to the
successful development, deployment, and maintenance of high quality Web-based
systems and applications.

Web Engineering Process:


The process is different from that of conventional software
development process. Projects deliver a complex array of inhalt and functionality
to a broad population of end- users. Ituses incremental development process.
It is the process that is used to create high-quality WebApps. It is not a perfect
clone of software engineering, but it borrows many of software engineering's
fundamental concepts and principles, emphasizing the same technical and
management activities.

9 | Page
www.gradeup.co

10 | P a g e

You might also like