Chapter 2 The Software Development Process

The Software
Development Process
Chapter 2

Highlights
 What major components go into a software
product
 What different people and skills contribute to
a software product
 How software progresses from an idea to a
final product

What Efforts Goes into a Software
Product
Product
Product
specification
Product
reviews
Design
Document
Schedules Feedback Competitive
information
Test plan Customer surveys Usability Data
Look and Feel Software code
Software
architecture

Customer Requirements
 Collect detailed information in the form
 Surveys
 Feedback
 Competitive product information
 Magazine reviews
 Focus groups
 Etc.

Specification
 The result of the customer requirements
studies is really just raw data
 Especially for
 Government
 Aerospace
 Financial
 Medical industries

Schedules
 Some mechanism to track the software’s
progress
 Simple task list
 Gantt Chart
 Goal of scheduling
 Know which work has been completed
 How much work is still left
 When it will all be finished

Software Deign Documents
 Architecture
 Data Flow Diagram
 State Transition Diagram
 Flowchart
 Commented Code

Test Documents
 Test plan
 Quality objectives, resource needs, schedules,
assignments, methods, etc.
 Test cases
 Specific items and detailed steps
 Bug reports
 Problem found
 Test tools and automation
 Metrics, statistics, and summaries

What Parts Make Up a Software
Product

Software Project Staff
 Project manager
 Writing spec, managing schedule, and making the
critical decisions and trade-offs
 Architect
 Design the overall systems architecture
 Programmers
 Write software and fix the bugs
 Tester or QA
 Finding and reporting problems
 Technical writers
 Create paper and online documentation
 Configuration management
 Pulling together the software and all the documentation

Software Development Lifecycle
Models
 “Three things that never be seen in the process of
being created: laws, sausage, and software”
 Software development lifecycle
 The process used to create a software product from its
initial conception to its public release
 Classical models
 Big-Bang
 Code-and-Fix
 Waterfall
 Spiral

Big-Bang Model
 Beauty of big-bang is that it’s simple
 There is little to no formal testing done
 Testing become both an easy and a difficult task
BOOM
B O M
Final Product
?

Code-and-Fix Model
 Usually the project teams fall into by default
 “there’s never time to do it right, but there’s always
time to do it over”
 Well for small project such as prototypes and demos
 Good introduction to software development, and help
you appriaciate the more formal methods
Informal Product
Specification
Code, Fix and
Repeat Until?

Waterfall Model
 Simple, elegant and make senses
 IdeaAnalysisDesignDevelopmentTestFinal
Product
 At the end of each step, a review is held
 Three important things
 There’s large emphasis on specifying what the product
will be
 Discrete, no overlap
 No way to back up
 HOWEVER, requirement is fast changing
 A fundamental problem could creep in early on and
not be detected until days before product release

Spiral Model
 Start small
 Each spiral involves six steps
 Determine objectives, alternatives and
constraints
 Identify and resolve risks
 Evaluate alternatives
 Develop and test the current level
 Plan the next level
 Decide on the approach for the next level
 Been testing all along

New trends
 Unified Process
 Agile Software Development
 ICONIX 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值