Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Engineering E: Overview of SE Methodologies (Agile Methodology…
Software Engineering E: Overview of SE Methodologies
Software Engineering
Goal
quality software
delivered on time
within budget
satisfies the user’s needs
Includes
processes
management techniques
technical methods
Software Engineering Covers
Management Techniques
monitor progress
control changes
Technical Methods
requirement gathering techniques
OOAD
UML Modeling
testing
coding
Software Development Processes
project planning
requirement development
Software Development Life Cycle (SDLC)
process of building, deploying, using and maintaining a system
Five phases of project development
planning
identify scope of new system
ensure that project is feasible
develop a schedule, resource plan, budget
analysis
understand and document in detail the business needs & the processing requirements
design
design the solution system based on analysis
implementation
build, test and install a reliable information system with trained users ready to benefit as expected from use of system
support
keep system running productively initially and during the many years of the system's lifetime
Waterfall Methodology
highly structured design process that relies heavily on up
-front planning and a set of sequential and prescribed steps
Pros
Offers a simple approach to software development with stable requirements
Cons
Not suitable to develop solution with complex and changing requirements
Customer need to wait for a long time
When to use?
For projects with very stable requirements
Agile Methodology
aims to cope with changes fast through iterative and incremental development
Agile Software Development
produces solutions through evolution and collaboration between self-organizing, cross-functional teams by utilizing the appropriate practices
provides opportunities to assess & control the progress of a project throughout the development lifecycle
Pros
Working product is delivered frequently
Changes can effectively be taken care of during rounds of development cycles
Cons
Lack of emphasis on necessary designing and documentation
When to use?
project with unstable user requirements + customer’s involvement is available during development cycles
SCRUM
process framework within the Agile development that has been used to manage complex product development
uses fixed-length iterations, called Sprints, which are typically 2 - 4 weeks long for the cross functional team to produce shippable product that the customer wants
Planned (SDLC)
vs
Agile