ソフトウェアテスト
[3] ソフトウェア開発プロプロ
セス
Software Testing
[3] Software Development Process
あまん ひろひさ ひろひさ
阿萬 裕久 裕久( AMAN
Hirohisa )
(C) 2007-2022 Hirohisa AMAN
1
Outline of software development
Development plan (overall plan)
Requirements analysis
Design
Implementation
Test
develop
ment
process
Operation/maintenance
(C) 2007-2022 Hirohisa AMAN
2
(0) Development plan
Setup → Estimation → Preparat
ion
What kind
By when
Make or Set
man-hours & cost
Determination of development method
Preparation
• Staffing
• Budget
• Environment
(C) 2007-2022 Hirohisa AMAN
3
(0) Development plan: Determinati
on of development method
Basic policy
• Newly develop?
• Based on existing system?
Calculate the scale of development
(e.g.) How much code need to write?
Effective in estimating man-hours and costs
Many other issues to consider
Securing human resources? Environment? Budget?
(C) 2007-2022 Hirohisa AMAN
4
Artifact
Requirements
specifications
(1) Requirements analysis
Business analysis
Analyze and organize the work to be achi
eved of software
Description of request
Unambiguous and precise description
Consider feasibility: function, cost, delive
ry date
(C) 2007-2022 Hirohisa AMAN
5
[example]Bulletin notification system
(1) Requirements analysis
I want a system that notifies me
when a notice related to me appears
Real-time? Organized by day?
How to be noticed
Register/change notification recipients?
Protect identity and security
Post content input format
Conditions for "related postings" in the
first place?
(C) 2007-2022 Hirohisa AMAN
6
[Exercise 1]
Requests from customers
“I want you to create a system that allo
ws you to check the congestion status o
f the cafeteria with your smartphone."
Consider and list the items that should
be confirmed with the customer when cr
eating the requirement specifications.
(C) 2007-2022 Hirohisa AMAN
7
External specifications
Artifact
(2-1) External design
Split target system subsystems
Design external specifications for each subsystem
users & external systems
whole system
Kind of
functions
Kind of interface
How do you
operate it?
In what way
exchange data and
control do?
subsystem
(C) 2007-2022 Hirohisa AMAN
8
Artifact
Internal specifications
(2-2) Internal design
About the contents of each external design
Design the Program specifications in detail
Program structure
(work as a function
allocation)
•
Specifications of
each function (input /
output, functions)
•
Data structure and
algorithm
•
subsystem
functionA.
functionB. functionC.
functionD. functionF.
(C) 2007-2022 Hirohisa AMAN
9
[example]Bulletin notification system
(2-1) External design
content
mgmt
user
send
mgmt
user
mgmt
Participants
database
(C) 2007-2022 Hirohisa AMAN
Information input
person
User
database
10
[example]Bulletin notification system
(2-2) Internal design
Transmission management subsystem
Outbound Management Main
Create a recipient listContent creation Send Message
Search in database
Destination data structure?
Do you want to?
How to link with database?
How to send a message?
(C) 2007-2022 Hirohisa AMAN
11
(3) Implementation
Coding based on internal specifications
Using a programming language
Create Program specifications or flow
chars as a related document
Artifact
Program specifications
Source code
(C) 2007-2022 Hirohisa AMAN
12
[example]Bulletin notification system
(3) Implementation
Use the appropriate libraries and progra
mming languages to achieve the desire
d functionality
Take advantage of OS-specific features → C
Databases Integration → Java or Python
Consider maintenance later, and actively and actively
create documents such as program speci
fications and flowcharts.
(C) 2007-2022 Hirohisa AMAN
13
(4) Test
Artifact
Test specification
Test report
Test that the software works properly
Functions (modules) according to the program sp
ecifications? → Unit test
Subsystem meet Internal specifications? → Integr
ation test
System meet External specifications?
→ System test
System meet Requirement specifications? → Acce
ptance test
(C) 2007-2022 Hirohisa AMAN
14
(4) Test
Unit test
Does it work correctly at a single component (function,
etc.) level?
Integration test
Does it work correctly when several parts are connected
(a function calls another function, etc.)?
System test
Does the system work as design and to specification?
Acceptance test
Does the system work in a way that the customer is sati
sfied with?
(C) 2007-2022 Hirohisa AMAN
15
(5) Operation and maintenance
User Operations &
Maintenance upon defect
discovery and correction request
Prior to operation, create operation manual
If a failure occurs, Report and respond to it
is recorded and retained
Various manuals
Artifact
Failure/Response Report
(C) 2007-2022 Hirohisa AMAN
16
[example]Bulletin notification system
(5) Operation and maintenance
Operation
Report any problems
If there is a request, ask for it
Maintenance
Bugzilla or JIRA
(Bug management
system)
Bug fix
Respond to requests
(C) 2007-2022 Hirohisa AMAN
→
17
[Exercise 2]
Answer the applicable process
Answer which process corresponds to the follo
wing tasks.
“Cafeteria congestion check system"
① Congestion data will be
structured data consisting
of the time of (d,h,m), seat
occupancy rate (%), and
will be recorded in a file at
3-minute intervals.
③ System configuration
(1) Congestion data management
(2) User interface section
(3) Controll section
④ Conducted a user survey & sorted
out issues that need improvement
② Confirm the behavior of performing access for 1,000 people
at the same time before full operation or access outside
business hours.
(C) 2007-2022 Hirohisa AMAN
18
Typical examples of process models
Waterfall model
Prototyping
Spiral model
(C) 2007-2022 Hirohisa AMAN
19
Waterfall Model
Proceed in sequence
Requirements
analysis
Features:
Easy to grasp the progress
The division of work is clear
External design
Internal design
Implementation
Test
Operation/maintenance
(C) 2007-2022 Hirohisa AMAN
20