Software Development
Life Cycle:
Implementation
Perancangan Rekayasa Perangkat Lunak
Implementation
01 02
Construction Testing
03 04
Documentation Installation
01
Construction
• Assigning the programmers
• Coordinating the activities
• Managing the schedule
Assigning the programmer
● Start by looking at the package diagrams
● Assign similar modules to the same programmer
● Remember the "programmer paradox"
○Can't just add more people. Fewer programmers is normally
better
● Adding manpower to a late project makes it later (Brook, 1975)
○ “Just because a woman can make a baby in nine months, it
does not follow that nine women can make a baby in one
month”
Coordinating Activities
● Hold weekly project meetings
○ discuss changes to the system
○ discuss other issues of the past week
● Create and follow standards
● Set up separate workspace for
○ development, testing, production
○ as a minimum, separate files
● Use change control
○program log, sign-in/-out
● Use CASE tools
Coordinating Activities
● Use initial time estimates as a baseline
● Revise time estimates as construction proceeds
● Fight against scope creep
● Monitor “minor” slippage
● Create risk assessment and track changing risks
○ Risks change as deadline approaches
● Fight the temptation to lower quality to meet unreasonable
schedule demands
Anekdot di Pengembangan Software
● Project Manager is a Person who thinks nine women can deliver
a baby in One month
● Developer is a Person who thinks it will take 18 months to
deliver a Baby
● Client is the one who doesn't know why he wants a baby
● Marketing Manager is a person who thinks he can deliver a
baby even if no man and woman are available
● Tester is a person who always tells his wife that this is not the
Right baby
● Human Resource is a person who thinks that a donkey can
deliver a human baby if given 9 months
02
Testing
Testing
● Testing can never prove there are no errors
● The purpose is not to demonstrate that the system is free of
errors
● The purpose is to detect as many errors as possible
● It is dangerous to test early modules without an overall testing
plan
● It may be difficult to reproduce sequence of events causing an
error
● Testing must be done systematically and results documented
carefully
Tahapan Testing
1. Unit testing: Tests each module to assure that it performs its
function
2. Integration testing: Tests the interaction of modules to assure
that they work together
3. System testing: Tests to assure that the software works well as
part of the overall system
4. Acceptance testing: Tests to assure that the system serves
organizational needs
03
Documentation
• System documentation
• User documentation
System documentation
● Compiled and refined System Specification
● Helps programmers and analysts understand the application
● Used for development and maintenance
● Largely a by product of the SDLC phases
● Often can be automated (JavaDoc)
User documentation
● Help users operate the system
● High quality documentation takes about 3 hours per page to
produce
● Should not be left to the end of the project
● User Documentation Type:
○ Reference documents (help system)
■ User needs to learn a specific task
○ Procedures manuals
■ How to perform a business function
■ May require several tasks
○ Tutorials
■ How to use major function of system
04
Installation
Installation
● Transitioning to new systems involves managing change from
pre-existing norms and habits
● Change management involves:
○ Unfreezing -- loosening up peoples’ habits and norms
○ Moving – conversion from old to new systems
○ Refreezing -- institutionalize and make efficient the new
way of doing things
Type of system adopters
● Ready Adopters (20% - 30%)
○ Recognize the benefits
○ Quickly adopt the system
○ Become proponents of the system
● Resistant adopters (20% - 30%)
○ Refuse to accept the change
○ Fight against the system
● Reluctant Adopters (40% - 60%)
○ Apathetic & blow with the wind
Terima Kasih