0% found this document useful (0 votes)
12 views4 pages

M4 Softw Dev Methodologies

The document outlines various software development methodologies, including traditional models like the Waterfall and newer approaches such as Agile and Rapid Application Development (RAD). It emphasizes the importance of user involvement, iterative processes, and the structured phases of the Systems Development Life Cycle (SDLC) for effective system design and implementation. Additionally, it discusses the strengths and weaknesses of different methodologies, providing insights into when to apply each approach based on project requirements and user engagement.

Uploaded by

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

M4 Softw Dev Methodologies

The document outlines various software development methodologies, including traditional models like the Waterfall and newer approaches such as Agile and Rapid Application Development (RAD). It emphasizes the importance of user involvement, iterative processes, and the structured phases of the Systems Development Life Cycle (SDLC) for effective system design and implementation. Additionally, it discusses the strengths and weaknesses of different methodologies, providing insights into when to apply each approach based on project requirements and user engagement.

Uploaded by

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

Software Development Methodologies SYSTEM ANALYSIS OF A NEW REQUIREMENTS

• Definition of the system & its objectives


3 TYPES OF SOFTWARE • Development of the system
• System Software • Installation of the system & testing
– OS, Device Drivers etc. • Operations of the system
• Utility Software • Review & evaluation
– Disk tools, Anti-virus, Backup software
• Application Software Systems Development Life Cycle
– MS Word, Multimedia, Web Browsers - a structured step-by-step approach for developing
information systems
TYPES OF APPLICATION DEVELOPMENT
TYPICAL ACTIVITIES INCLUDE:
Desktop Application • Determining budgets
Desktop Developer • Gathering business requirements
- programmer who writes code for software applications that • Designing models
(1) run natively on operating systems like macOS, Windows, • Writing user documentation
and Linux, and
(2) don't need to be connected to the internet. SDLC Methodology
§ The life cycle approach is used so users can see and
Web application development understand what activities are involved within a given
- the creation of application programs that reside on remote step.
servers and are delivered to the user's device over the § It is also used to let them know that at any time, steps can be
Internet. repeated or a previous step can be reworked when needing
to modify or improve the system.
Mobile Application § Most modern development processes can be vaguely
- the process to making software for smartphones and digital described as agile
assistants, most commonly for Android and iOS. § Other methodologies include waterfall, prototyping, iterative
- The software can be preinstalled on the device, downloaded and incremental development, spiral development, rapid
from a mobile app store. application development, and extreme programming.

System Development Rothi and Yen (1989)


- the process of defining, designing, testing, and - provided a brief review of traditional SDLCs.
implementing a new software application or program. - They related how the use of traditional software
- It could include the internal development of customized development models is numerous and often regarded as the
systems, the creation of database systems, or the proper and disciplined approach to the analysis and design
acquisition of third party developed software. of software applications.
- Examples of such models included the code and fix,
System Analysis waterfall, staged and phased development,
- study of end-user information requirements that is needed transformational, spiral, and iterative models.
before the design of a new inform system can be completed
A related article by the U.S. Department of Justice described
System Design how the primary goal of any SDLC is to deliver quality software
- describe what a system should do to meet the information systems (DOJ, 2000).
needs of users. The strategy specifies how the system will
accomplish objectives. It further defined a quality system as one that:
1) meets or exceeds customer expectations,
PRINCIPLES OF SYSTEM DEVELOPMENT 2) works well with current and planned infrastructure, and
• Get the system users involved. 3) is inexpensive to maintain and enhance. These steps typically
• Use a problem-solving approach (Top-Down Approach, include software concept, requirements analysis, architectural
Bottom-up approach, Iterative approach, Prototyping design, coding and debug, and system testing
approach and Agile approach)
• Establish phases and activities. Osborn (1995) discussed traditional SDLC techniques and how
• Document through development. over time the phases of these approaches have become
• Establish standards. enshrined in a development cycle that includes:
• Manage the process and projects 1) defining requirements,
• Justify systems as capital investments. 2) designing a system to meet those requirements,
• Don’t be afraid to cancel or revise scope. 3) coding, and
• Divide and conquer. 4) testing. Each phase of the development cycle is strictly
• Design systems for growth and change sequenced.
• Principles of System Development
For example, in the waterfall model, the output of all prior eZort
SYSTEM ANALYSIS OF THE EXISTING SYSTEM is a prerequisite for subsequent steps (e.g. all details of
• Understanding the existing system requirements definition are documented before start of design,
• Understanding the objectives achieved by the existing design is complete before coding, and exhaustive testing is
system performed prior to release).
• Knowing whether the system is feasible in technically &
operationally
• Evaluate the system for computerization & its
placement in the total MIS design
SDLC Life Cycle Universal Systems Model/ Basic IPO

Phase 1: Planning Systems Development Methodologies


§ involves determining a solid plan for developing your § The SDLC methodology is sometimes referred to as the
information system waterfall methodology to represent how each step is a
separate part of the process
THREE PRIMARY PLANNING ACTIVITIES:
1. Define the system to be developed § SDLC is a conceptual model, used in project management,
• Critical success factor (CSF) - a factor simply critical to describe the stages and tasks involved in each step of a
to your organization’s success project to write and deploy software

2. Set the project scope § It is often considered the classic approach to the system
• Project scope - clearly defines the high-level system development life cycle. In order to design a good system,
requirements traditionally, the development have used the waterfall
• Scope creep - occurs when the scope of the project model. This model describes a development method that is
increases linear and sequential
• Feature creep - occurs when developers add extra
features that were not part of the initial requirements The waterfall model
- a sequential, activity-based process in which each phase in
• Project scope document - a written definition of the
the SDLC is performed sequentially
project scope and is usually no longer than a paragraph
- The Waterfall approach to systems analysis and design was
3. Develop the project plan including tasks, resources, and the first established modern approach to building a system.
This method was originally defined by Winston W. Royce in
timeframes
1970,
• Project plan - defines the what, when, and who
questions of system development
PHASES OF WATERFALL METHODOLOGY
• Project manager - an individual who is an expert in
Requirements:
project planning and management, defines and
- The key aspect of waterfall is that all customer requirements
develops the project plan and tracks the plan to ensure
are gathered at the beginning of the project. It is assumed
all key project milestones are completed on time
that all requirements can be gathered at this phase.
• Project milestones - represent key dates for which you
need a certain group of activities performed
Design:
- best broken up into logical design and physical design
LIGHTWEIGHT METHODOLOGIES
subphases.
Light SDLC techniques are a compromise between no process
and too much process.
Implementation:
• Adaptive Software Development (ASD)
- when programmers assimilate the requirements and
• Agile Software Process (ASP)
specifications from the previous phases and produce actual
• Crystal code.
• Dynamic System Development Method (DSDM)
• Extreme Programming (XP) Verification:
• Feature Driven Development (FDD) - when the customer reviews the product to make sure that it
• Rational Unified Process (RUP) meets the requirements laid out at the beginning of the
• SCRUM, and project.
• Whitewater Interactive System Development with
Object Models (Wisdom). Maintenance:
- The customer is regularly using the product during the
OTHER LIGHTWEIGHT METHODOLOGIES maintenance phase, discovering bugs, inadequate features
• Architected Rapid Application Development and other errors that occurred during production. The
(Architected RAD) production team applies these fixes as necessary until the
• Joint Application Development (JAD) customer is satisfied
• Information Engineering (IE)
• Rapid Application Development (RAD)
• Structured Analysis and Design
• Boehms Spiral Model
• FAST - (Framework for the Application of Systems
Thinking )
• HyBrid Strategy / Incremental Strategy)
• Computer-Assisted Software Engineering (CASE)
- the term was inspired by James Martin, who worked with
colleagues to develop a new method called Rapid Iterative
Production Prototyping (RIPP).
- In 1991, this approach became the premise of the book
Rapid Application Development.

- software-development (or systems-development)


methodology that focuses on quickly building a working
model of the software, getting feedback from users, and
then using that feedback to update the working model.

- emphasizes extensive user involvement in the rapid and


evolutionary construction of working prototypes of a system
to accelerate the systems development process

Prototype
WATERFALL STRENGTHS
- a smaller-scale, representation, or working model of the
• Easy to understand, easy to use
user’s requirements or a proposed design for an information
• Provides structure to inexperienced stad
system
• Milestones are well understood
• Sets requirements stability
• Good for management control (plan, stad, track)
• Works well when quality is more important than cost
or schedule

WATERFALL DEFICIENCIES
• All requirements must be known upfront
• Deliverables created for each phase are considered
frozen – inhibits flexibility
• Can give a false impression of progress
• Does not reflect problem-solving nature of software
development – iterations of phases
• Integration is one big bang at the end
• Little opportunity for customer to preview the system
(until it may be too late)

WHEN TO USE THE WATERFALL METHODOLOGY PHASES of RAD


• Requirements are very well known Requirements Planning.
• Product definition is stable - similar to the preliminary-analysis, system-analysis, and
• Technology is understood design phases of the SDLC.
• New version of an existing product - the overall requirements for the system are defined, a team
• Porting an existing product to a new platform is identified, and feasibility is determined.

SEQUENTIAL VS ITERATIVE DEVELOPMENT User Design


Waterfall development approach - representatives of the users work with the system analysts,
- completes each phase one after another and only once designers, and programmers to interactively create the
design of the system.
Iterative development approach - One technique for working with all of these various
- completes the entire information system in successive stakeholders is the so-called JAD session. JAD is an
iterations. acronym for joint application development. A JAD session
- Each iterations does some analysis, some design, and some gets all of the stakeholders together to have a structured
construction. discussion about the design of the system. Application
- Synonyms include incremental and spiral. developers also sit in on this meeting and observe, trying to
understand the essence of the requirements.
Waterfall Methodology
- has been criticized for being quite rigid. Construction
- changes to the requirements are not allowed once the - the application developers, working with the users, build the
process has begun. next version of the system.
- No software is available until after the programming phase - This is an interactive process, and changes can be made as
developers are working on the program.
SDLC was developed for large, structured projects. Projects - This step is executed in parallel with the User Design step in
using SDLC can sometimes take months or years to complete. an iterative fashion, until an acceptable version of the
Because of its inflexibility and the availability of new product is developed.
programming techniques and tools, many other software-
development methodologies have been developed. Cutover
- similar to the implementation step of the SDLC, the system
Rapid Application Development (also called rapid goes live.
prototyping) - All steps required to move from the previous state to the use
- born out of frustration with the waterfall software design of the new system are completed here.
approach which too often resulted in products that were out
of date or ineZicient by the time they were actually release
RAD Strategy Agile methodologies
- open to changing requirements over time and encourages
constant feedback from the end users
- leadership encourages teamwork, accountability, and face-
to-face communication. Business stakeholders and
developers must work together to align the product with
customer needs and company goals.
- goal is to provide the flexibility of an iterative approach
while ensuring a quality product.

PRINCIPLES OF AGILE METHODOLOGY


Principle Description
Customer Customers should be closely involved
PROTOTYPING Model involvement throughout the development process. Their
role is provide and prioritize new system
Prototyping
requirements and to evaluate the iterations of
- the process of building a model that demonstrates the the system.
features of a proposed product, service, or system Incremental The software is developed in increments with
delivery the customer specifying the requirements to
Proof-of-concept prototype be included in each increment.
- used to prove the technical feasibility of a proposed system People not The skills of the development team should be
Selling prototype process recognized and exploited. Team members
should be left to develop their own ways of
- used to convince people of the worth of a proposed system
working without prescriptive processes
Embrace Expect the system requirements to change
PROTOTYPING PROCESS change and so design the system to accommodate
The prototyping process involves four steps: these changes.
1. Identify basic requirements Maintain Focus on simplicity in both the software being
2. Develop initial prototype simplicity developed and in the development process.
3. User review Wherever possible, actively work to eliminate
complexity from the system.
4. Revise and enhance the prototype

THE CHARACTERISTICS OF AGILE METHODS


• small cross-functional teams that include
development-team members and users; daily status
meetings to discuss the current state of the project;
• short time-frame increments (from days to one or two
weeks) for each change to be completed; and
• at the end of each iteration, a working project is
completed to demonstrate to the stakeholders.

AGILE METHOD APPLICABILITY


• Product development where a software company is
developing a small or medium-sized product for sale.
• Custom system development within an organization,
where there is a clear commitment from the customer
to become involved in the development process and
where there are not a lot of external rules and
regulations that adect the software.
• Because of their focus on small, tightly-integrated
teams, there are problems in scaling agile methods to
large systems.
PROTOTYPING Strategy
ADVANTAGES PROBLEMS WITH AGILE METHODS
• Encourages Active User Participation • It can be didicult to keep the interest of customers who
• Helps Resolve Discrepancies Among Users are involved in the process.
• Gives Users a Feel for the Final System • Team members may be unsuited to the intense
• Helps Determine Technical Feasibility involvement that characterizes agile methods.
• Helps Sell the Idea of a Proposed System • Prioritizing changes can be didicult where there are
multiple stakeholders.
DISADVANTAGES • Maintaining simplicity requires extra work.
• Leads People to Believe the Final System Will Follow • Contracts may be a problem as with other approaches
• Gives No Indication of Performance under Operational to iterative development.
Conditions
• Leads the Project Team to Forgo Proper Testing and
Documentation

Agile software development


- based on an incremental, iterative approach. Instead of in-
depth planning at the beginning of the project,

You might also like