0% found this document useful (0 votes)
58 views

Part 1 - Overview of Software Documentation PDF

This document provides an overview of key aspects of software development including: 1) Software development methodology frameworks like waterfall, agile, etc. 2) Types of software documentation like requirements, design, test documents. 3) Software technologies involving languages, tools, and platforms. 4) Finding real problems by describing the problem, stakeholders affected, impacts, and benefits of a solution.

Uploaded by

Muhammad Akmal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Part 1 - Overview of Software Documentation PDF

This document provides an overview of key aspects of software development including: 1) Software development methodology frameworks like waterfall, agile, etc. 2) Types of software documentation like requirements, design, test documents. 3) Software technologies involving languages, tools, and platforms. 4) Finding real problems by describing the problem, stakeholders affected, impacts, and benefits of a solution.

Uploaded by

Muhammad Akmal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

DDWD3723 - SOFTWARE DEVELOPMENT

PART 1 : OVERVIEW OF SOFTWARE DEVELOPMENT METHODOLOGY


Overview of Application
Development
1 Software Development Methodology

2 Software Documentation

3 Software Technology

4 Finding Real Problem & Proposal Preparation


SOFTWARE
DEVELOPMENT
METHODOLOGY
SOFWARE DEVELOPMENT
Components or elements in Software Development

SOFTWARE DEVELOPMENT SOFTWARE TOOLS


METHODOLOGY Project Management
Traditional Trello, Redmine, Ms. Project
Waterfall 02
Documentation
Incremental Rational Rose, E-Draw Max, etc
RUP, Agile, Scrum, RAD, etc
Development Tools
01 SOTWARE Netbeans, Eclipse, Android Studio,
DEVELOPMENT WAMP, SourceTree, etc
SOFTWARE TECHNIQUES 03
Object Oriented
Use Case, Class Diagram SOFTWARE DOCUMENTS
IEEE, SDP, SRS, SDD, STD, STP,
Structured
STR, SUD
Context Diagram, DFD, etc 04
SOFWARE DEVELOPMENT METHODOLOGY
Overview of Software Development Methodology

Software Development Methodology


01
is a framework that is used to structure,
plan, and control the process of
developing an information system.

Choosing the right Software


02 Development Methodology is to
maximize the efficiency and reduce
the use of resources and time in each
project. In other words, you have to be
efficient and effective in your operational
activities.
SOFWARE DEVELOPMENT METHODOLOGY
List of Software Development Methodology

01 Waterfall Model 02 Prototype Model 03 Agile Software


Development

Dynamic Systems
Rapid Application
04 Development
05 Development 06 Spiral Model
Model

Extreme Feature Driven Join Application


07 Programming
08 Development 09 Development

Lean Rational Unified Scrum


10 Development
11 Process 12 Development

Refer here : shorturl.at/iAJO3


METHODOLOGY COMPARISON
Comparison between methodology

1 2
WATERFALL MODEL AGILE / SCRUM
 Suitable for longer-term projects  Suitable for small project & fast-
 Multiple internal / external paced product development
stakeholders  Highly collaborative & incremental
 Suitable for smaller projects product delivery
where requirements are very  Able to respond to the changing
well understood requirements of the clients

3 4
RATIONAL UNIFIED PROCESS EXTREME PROGRAMMING
 Accurate documentation  Requires meetings at frequent
 For an object-oriented and web- intervals at enormous expense to
enabled program development customers
 Use by expert software  Requires many development
developer changes
 This methodology is very  Only effective as the people involved
complex
AGILE SOFTWARE DEVELOPMENT
Overview of Agile Software Development

01 Agile Software Development is an approach that is used to design a disciplined software


management process which also allows some frequent alteration in the development project.

02
This is a type of software development methodologies which is one conceptual framework for
undertaking various software engineering projects.

03
It is used to minimize risk by developing software in short time boxes which are called
iterations that generally last for one week to one month.
AGILE SOFTWARE DEVELOPMENT
History of Agile Methodology

Refer here : shorturl.at/fjqMQ


AGILE SOFTWARE DEVELOPMENT
History of Agile Methodology

 1974 - An adaptive software development process documented


 1991 - "Rapid Application Development" published
 1995 - DSDM Framework published
 1995 - SCRUM presented at OOPSLA
 1996 - XP Practices developed on C3 project
 1997 - FDD processes designed by Jeff De Luca
 1999 - FDD described in "Java Modeling in Color with UML"
 1999 - "Extreme Programming Explained" published
 1999 - "Adaptive Software Development" published
 2001 - Crystal Light methodologies described in Cutter IT Journal,
 2001 - Agile Manifesto written
 2003 - "Lean Software Development: An Agile Toolkit for Software Development Managers" published
AGILE SOFTWARE DEVELOPMENT
Manifesto of Agile Software Development

Through this work we have come to value:

 Individuals and interactions over processes and tools


 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
AGILE SOFTWARE DEVELOPMENT
12 Principle of Agile Software Development

Refer here : shorturl.at/chmqL


SOFTWARE
DOCUMENTATION
SOFTWARE DOCUMENTATION
List of Software Documentation

SDP
Software Development Plan

SRS Software Requirement


Specification
Document
SDD
Software Design Document

STD Software Test Documentation

- STP
(Software Test Plan)
SUD Software User
- STD
Documentation
(Software Test Description)
- STR
(Software Test Result)
SOFTWARE DOCUMENTATION
Software Documentation based on IEEE Standard

IEEE Software Life Cycle :

 SQA – Software Quality Assurance IEEE 730


 SCM – Software Configuration Management IEEE 828
 STD – Software Test Documentation IEEE 829
 SRS – Software Requirements Specification IEEE 830
 V&V – Software Verification & Validation IEEE 1012
 SDD – Software Design Description IEEE 1016
 SPM – Software Project Management IEEE 1058
 SUD – Software User Documentation IEEE 1063
SOFTWARE
TECHNOLOGY
SOFTWARE TECHNOLOGY
Overview of Software Technology

Software Technology is a general term covering the development methods, programming


languages, and tools to support them that may be used in the development of software.

Involves:

 Software Development Methodology – Example : Agile


 Case Tools – From business modeling to maintenance
 Programming Language – From structured to latest object oriented,
mobile programming, embedded system
 Platform – Use to be mainframe, then PC, mobile devices, IoT
FINDING REAL
PROBLEM &
PROPOSAL
PREPARATION
FINDING REAL PROBLEM
Overview of Finding Real Problem

What is a problem?
 A perceived gap between the existing state and a desired state, or a deviation from
a norm, standard, or status quo.
 a matter or situation regarded as unwelcome or harmful and needing to be dealt with
and overcome.

How does our application / system / software contribute to the solution of


the problem?
FINDING REAL PROBLEM
Overview of Finding Real Problem
FINDING REAL PROBLEM
Overview of Finding Real Problem

The Problem of (describe the problem)

Affects (the stakeholders affected by the problem)

The impact of which is (what is the impact of the problem)

(list some key business benefits of a


A successful solution would
successful solution)
FINDING REAL PROBLEM
Example of Finding Real Problem

EXAMPLE : CUSTOMER SUPPORT SYSTEM

PROBLEM STATEMENT

Untimely and improper resolution of customer services


The Problem of issues

Our customers, customer support representatives, and service


Affects technicians

Customer dissatisfaction, perceived lack of quality, unhappy


The impact of which is employees, and loss of revenue

Provide real-time access to a troubleshooting database by support


A successful solution would representatives and facilitate dispatch of service technicians, in a
timely manner, only to those locations that need their assistance
FINDING REAL PROBLEM
Example of Finding Real Problem

EXAMPLE : UTM COURSE REGISTRATION SYSTEM

PROBLEM STATEMENT

The Problem of The outdated and poor performance of old system at UTM

Affects Students, professors and registrars

A slow and costly process combined with dissatisfied students and


The impact of which is
professors

A cost-effective, flexible, faster system that provide immediate


clarification of registration status, streamline administrative
A successful solution would
registration process, hence, to improve image of the University,
attract more students.
FINDING REAL PROBLEM
Example of Finding Real Problem

EXAMPLE : UTM COURSE REGISTRATION SYSTEM

PRODUCT VISION STATEMENT

For UTM students, UTM professors, Registrars

Who Attend, teach and schedule courses

The Course Registration


Is a customized software product.
System
That Enables course registration and checking of course results

Unlike The existing outdated system developed around mainframe technology

Provides up-to-date information on all courses, billing for courses and securi
Our product
ty measures.
FINDING REAL PROBLEM
Tsunami & Earthquake (Real Life Problem)

TSUNAMI EARTHQUAKE
FINDING REAL PROBLEM
Tsunami & Earthquake (Solution)

SOLUTION
Emergency Warning
System
FINDING REAL PROBLEM
Tsunami & Earthquake (Solution)

SOLUTION
Tsunami Detection
System
FINDING REAL PROBLEM
Tsunami & Earthquake (Solution)

SOLUTION
Sistem Amaran Awal Gempa Bumi
FINDING REAL PROBLEM
Football Ticket (Real Life Problem)

FOOTBALL TICKET
FINDING REAL PROBLEM
Football Ticket (Solution)

SOLUTION
Online Ticketing Service
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
Engineering Failure
FINDING REAL PROBLEM
World List of Failed Project
FINDING REAL PROBLEM
World List of Failed Project
PROPOSAL PREPARATION
Overview of Proposal Preparation

The proposal should be able to answer these question :


 What is the problem?
 Who are affected by the problem?
 What would be the state of solution?
 How much will it cost?
 Who will cover the cost?
PROPOSAL PREPARATION
Software Development Plan (SDP)

The key artifact a project manager will focus on is a Software Development Plan, containing
many different plans

 Project Plan and Iteration Plans


 Test Plan
 Configuration Management Plan
 Measurement Plan
 Risks
 Documentation Plan
 The specific process the project will use – its development case

Refer here : shorturl.at/eEGJ3


Thank you
End of Part 1

You might also like