0% found this document useful (0 votes)
50 views34 pages

Unit 5 Oose

Web engineering is a multidisciplinary approach focused on methodologies and tools for web application development, distinguishing itself from traditional software development. The Agile model emphasizes iterative development with defined phases, allowing for flexibility and frequent client feedback, while methodologies like Extreme Programming, Feature Driven Development, and Scrum provide specific frameworks for managing projects. Each Agile method has its advantages and disadvantages, catering to different project needs and team dynamics.

Uploaded by

maneruturaj303
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views34 pages

Unit 5 Oose

Web engineering is a multidisciplinary approach focused on methodologies and tools for web application development, distinguishing itself from traditional software development. The Agile model emphasizes iterative development with defined phases, allowing for flexibility and frequent client feedback, while methodologies like Extreme Programming, Feature Driven Development, and Scrum provide specific frameworks for managing projects. Each Agile method has its advantages and disadvantages, catering to different project needs and team dynamics.

Uploaded by

maneruturaj303
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 34

5.

1 Web Engineering
• Web engineering focuses on the methodologies, techniques, and tools that are the foundation of Web
application development and which support their design, development, evolution, and evaluation.
• Web application development has certain characteristics that make it different from traditional software,
information system, or computer application development.
• Web engineering is multidisciplinary and encompasses contributions from diverse areas: systems
analysis and design, software engineering, hypermedia/hypertext engineering, requirements
engineering, human-computer interaction, user interface, data engineering, information science,
information indexing and retrieval, testing, modelling and simulation, project management, and graphic
design and presentation.
• Web engineering is neither a clone nor a subset of software engineering, although both involve
programming and software development. While Web Engineering uses software engineering principles,
it encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique
requirements of Web-based applications
5.1 Web Engineering
Web Engineering
5.1 Web Engineering
Web Engineering
5.1 Web Engineering
5.1 Web Engineering
5.2 Agile Model
The meaning of Agile is swift or versatile. "Agile process model" refers to a
software development approach based on iterative development. Agile
methods break tasks into smaller iterations, or parts do not directly involve
long term planning.
The project scope and requirements are laid down at the beginning of the
development process. Plans regarding the number of iterations, the duration
and the scope of each iteration are clearly defined in advance.
Each iteration is considered as a short time "frame" in the Agile process
model, which typically lasts from one to four weeks. The division of the entire
project into smaller parts helps to minimize the project risk and to reduce the
overall project delivery time requirements.
Each iteration involves a team working through a full software development
life cycle including planning, requirements analysis, design, coding, and
testing before a working product is demonstrated to the client.
5.2 Agile Model
Phases of Agile Model:

1.Requirements gathering
2.Design the requirements
3.Construction/ iteration
4.Testing/ Quality assurance
5.Deployment
6.Feedback
5.2 Agile Model
5.2 Agile Model
1. Requirements gathering: In this phase, you must define the requirements.
You should explain business opportunities and plan the time and effort needed to
build the project. Based on this information, you can evaluate technical and
economic feasibility.
2. Design the requirements: When you have identified the project, work with
stakeholders to define requirements. You can use the user flow diagram or the
high-level UML diagram to show the work of new features and show how it will
apply to your existing system.
3. Construction/ iteration: When the team defines the requirements, the work
begins. Designers and developers start working on their project, which aims to
deploy a working product. The product will undergo various stages of
improvement, so 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: In this phase, the team issues a product for the user's work
environment.
6. Feedback: After releasing the product, the last step is feedback. In this, the
team receives feedback about the product and works through the feedback.
5.2 Agile Model
Advantage(Pros) of Agile Method:

1.Frequent Delivery
2.Face-to-Face Communication with clients.
3.Efficient design and fulfils the business requirement.
4.Anytime changes are acceptable.
5.It reduces total development time.
5.2 Agile Model
Disadvantage(Cons) of Agile Method:

1.Due to the shortage of formal documents, it creates confusion and crucial


decisions taken throughout various phases can be misinterpreted at any time
by different team members.

2.Due to the lack of proper documentation, once the project completes and
the developers allotted to another project, maintenance of the finished
project can become a difficulty.
5.2 Agile Methods:

•Scrum

•Crystal

•Dynamic Software Development Method(DSDM)

•Feature Driven Development(FDD)

•eXtreme Programming(XP)
5.2.1: Extreme Programming(XP)
What Is Extreme Programming (XP)?

Extreme programming is a software development methodology that’s part of


what’s collectively known as agile methodologies. XP is built upon values,
principles, and practices, and its goal is to allow small to mid-sized teams to
produce high-quality software and adapt to evolving and changing
requirements.
Extreme programming (XP) is one of the most important software
development frameworks of Agile models. It is used to improve software
quality and responsiveness 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.
5.2.1: Extreme Programming(XP)
5.2.1: Extreme Programming(XP)
XP Values:
5.2.1: Extreme Programming(XP)
XP Values:
• Communication: Lack of communication prevents knowledge from flowing inside a
team. Often, when there’s a problem, someone already knows how to solve it. But lack
of communication prevents them from learning about the problem or contributing to its
solution. So, the problem ends up being solved twice, generating waste.
• Simplicity: Simplicity says you always strive to do the simplest thing that works. It’s
often misunderstood and taken as the simplest thing, period, ignoring the “that works”
part.It’s also crucial to remember that simplicity is highly contextual. What’s simple for
one team, is complex for another depending entirely on each team’s skills, experience,
and knowledge.
• Feedback: Feedback in more traditional, waterfall-like software development
methodologies often is
• Courage: Kent Beck defines courage as “effective action in the face of fear.” As a
software engineer, you have plenty to be afraid of and therefore plenty of opportunities
to show courage.It takes courage to speak the truth, especially unpleasant ones — for
instance, honest estimates. Giving and receiving feedback also takes courage. And it
takes courage to avoid falling into the sunk cost fallacy and discard a failing solution
that received substantial investments.
• Respect: A fundamental premise of XP is that everyone cares about their work. No
5.2.1: Extreme Programming(XP)
Applications of Extreme Programming (XP): Some of the projects that are suitable to
develop using the XP model are given below:
•Small projects: XP model is very useful in small projects consisting of small teams as face-
to-face meeting is easier to achieve.
•Projects involving new technology or Research projects: This type of project face
changing requirements rapidly and technical problems. So XP model is used to complete this
type of project.
•Web development projects: XP model is well-suited for web development projects as the
development process is iterative and requires frequent testing to ensure the system meets
the requirements.
•Collaborative projects: XP model is useful for collaborative projects that require close
collaboration between the development team and the customer.
•Projects with tight deadlines: XP model can be used in projects that have a tight
deadline, as it emphasizes simplicity and iterative development.
•Projects with rapidly changing requirements: XP model is designed to handle rapidly
changing requirements, making it suitable for projects where requirements may change
frequently.
•Projects where quality is a high priority: XP model places a strong emphasis on testing
and quality assurance, making it a suitable approach for projects where quality is a high
Programming(XP)
Advantages of Extreme Programming (XP):
•Slipped schedules − Timely delivery is ensured through slipping timetables and
doable development cycles.
•Misunderstanding the business and/or domain − Constant contact and
explanations are ensured by including the client on the team.
•Canceled projects − Focusing on ongoing customer engagement guarantees
open communication with the consumer and prompt problem-solving.
•Staff turnover − Teamwork that is focused on cooperation provides excitement
and goodwill. Team spirit is fostered by multidisciplinary cohesion.
•Costs incurred in changes − Extensive and continuing testing ensures that the
modifications do not impair the functioning of the system. A functioning system
always guarantees that there is enough time to accommodate changes without
impairing ongoing operations.
•Business changes − Changes are accepted at any moment since they are seen
to be inevitable.
•Production and post-delivery defects: Emphasis is on − the unit tests to
find and repair bugs as soon as possible.
Method(DSDM)
• The Dynamic Systems Development technique (DSDM) is an associate
degree agile code development approach that provides a framework for
building and maintaining systems. The DSDM philosophy is borrowed from a
modified version of the sociologist principle—80 % of An application is often
delivered in twenty percent of the time it’d desire deliver the entire (100
percent) application.

• 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.

• The DSDM tool (www.dsdm.org) could be a worldwide cluster of member


companies that put together tackle the role of “keeper” of the strategy. The
pool has outlined AN Agile Development Model, known as the DSDM life cycle
that defines 3 different unvarying cycles, preceded by 2 further life cycle
Method(DSDM)
Method(DSDM)
1.Feasibility Study:
It establishes the essential business necessities and constraints related to the applying 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 applying to supply business
value; additionally, it is the essential application design and identifies the maintainability necessities
for the applying.
3.Functional Model Iteration:
It produces a collection of progressive prototypes that demonstrate practicality for the client.
(Note: All DSDM prototypes are supposed to evolve into the deliverable application.) The intent
throughout this unvarying cycle is to collect further necessities by eliciting feedback from users as
they exercise the paradigm.
4.Design and Build Iteration:
It revisits prototypes designed throughout useful model iteration to make sure that everyone has
been designed during a manner that may alter it to supply operational business price for finish
users. In some cases, useful model iteration and style and build iteration occur at the same time.
5.Implementation:
It places the newest code increment (an “operationalized” prototype) into the operational
surroundings. It ought to be noted that:
1. (a) the increment might not 100% complete or,
2. (b) changes are also requested because the increment is placed into place. In either case, DSDM development
5.2.3 Feature Driven Development
5.2.3 Feature Driven Development
Feature-Driven Development. It is an agile iterative and incremental
model that focuses on progressing the features of the developing software.
The main motive of feature-driven development is to provide timely updated
and working software to the client. In FDD, reporting and progress tracking is
necessary at all levels.
• History
FDD was first applied in the year 1997 on a real-world application by Jeff De Luca for large
software development with specific needs of 15-month and 50 persons and published as a
discussion in book Java Modeling in Color with UML in the year 1999.
• FDD Lifecycle
Build overall model
Build feature list
Plan by feature
Design by feature
Build by feature
5.2.3 Feature Driven Development
Build by feature
5.2.3 Feature Driven Development
• Characteristics of FDD

1. Short iterative: FDD lifecycle works in simple and short iterations to efficiently finish the work
on time and gives good pace for large projects.
2. Customer focused: This agile practice is totally based on inspection of each feature by client
and then pushed to main build code.
3. Structured and feature focused: Initial activities in lifecycle builds the domain model and
features list in the beginning of timeline and more than 70% of efforts are given to last 2
activities.
4. Frequent releases: Feature-driven development provides continuous releases of features in
the software and retaining continuous success of the project.
5.2.3 Feature Driven Development
Advantages of FDD

• Reporting at all levels leads to easier progress tracking.


• FDD provides continuous success for larger size of teams and projects.
• Reduction in risks is observed as whole model and design is build in smaller segments.
• FDD provides greater accuracy in cost estimation of the project due to feature segmentation
retaining continuous success of the project.
5.2.3 Feature Driven Development
• Disadvantages of FDD

1. This agile practice is not good for smaller projects.


2. There is high dependency on lead programmers, designers and mentors.
3. There is lack of documentation which can create an issue afterwards.
5.2.4 SCRUM
5.2.4 SCRUM
• Scrum is precisely an evolution of Agile Management. Scrum methodology is based on a set of very
defined practices and roles that must be involved during the software development process. It is a
flexible methodology that rewards the application of the 12 agile principles in a context agreed by
all the team members of the product.
• Scrum is executed in temporary blocks that are short and periodic, called Sprints, which usually
range from 2 to 4 weeks, which is the term for feedback and reflection. Each Sprint is an entity in
itself, that is, it provides a complete result, a variation of the final product that must be able to be
delivered to the client with the least possible effort when requested.
• The process has as a starting point, a list of objectives/ requirements that make up the project plan
. It is the client of the project that prioritizes these objectives considering a balance of the value
and the cost thereof, that is how the iterations and consequent deliveries are determined.
• On the one hand the market demands quality, fast delivery at lower costs, for which a company
must be very agile and flexible in the development of products, to achieve short development
cycles that can meet the demand of customers without undermining the quality of the result. It is a
very easy methodology to implement and very popular for the quick results it gets.
• Scrum methodology is used mainly for software development, but other sectors are also taking
advantage of its benefits by implementing this methodology in their organizational models such as
sales, marketing, & HR teams etc
5.2.4 SCRUM
Different Roles in Scrum
In Scrum, the team focuses on building quality software. The owner of a Scrum project focuses
on defining what are the characteristics that the product must have to build (what to build, what
not and in what order) and to overcome any obstacle that could hinder the task of the
development team.
The Scrum team consists of the following roles:
1. Product owner (PO)
Is the representative of the stakeholders and customers who use the software. They focus on the
business part and is responsible for the ROI of the project. They Translate the vision of the
project to the team, validate the benefits in stories to be incorporated into the Product Backlog
and prioritize them on a regular basis.
2.Scrum master
The person who leads the team guiding them to comply with the rules and processes of the
methodology. Scrum master manages the reduction of impediments of the project and works
with the Product Owner to maximize the ROI. The Scrum Master is in charge of keeping Scrum up
to date, providing coaching, mentoring and training to the teams in case it needs it.
5.2.4 SCRUM
Different Roles in Scrum
3. Scrum Team
A group of professionals with the necessary technical knowledge who develop the project jointly
carrying out the stories they commit to at the start of each sprint.
training to the teams in case it needs it.

You might also like