metodologi pengembangan

49
Software Development

Upload: rodnovry-joshua-l-tobing

Post on 24-May-2015

1.232 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Metodologi Pengembangan

Software Development

Page 2: Metodologi Pengembangan

THE SYSTEMS DEVELOPMENT LIFE CYCLE

• The system life development cycle (SDLC) is an application of the systems approach methodology to the development of an information system

2

Page 3: Metodologi Pengembangan

THE TRADITIONAL SDLC• It didn’t take the first system developers long to

recognize a sequence if the project was to have the best chance of success:• Planning• Analysis• Design• Implementation• Use

• Figure 7.4 illustrates how the life cycle phases can fit into a circular pattern over time

3

Page 4: Metodologi Pengembangan

4

Page 5: Metodologi Pengembangan

Planning Phase

• Benefits– Define scope of the project

– Spot potential problems

– Arrange tasks in sequence

– Provide basis for control

7-5

Page 6: Metodologi Pengembangan

Steps

1. Recognize problem (the trigger)2. Define problem 3. Set objectives4. Identify constraints

Recall that objectives, standards, and constraints are problem-solving elements.

7-6

Page 7: Metodologi Pengembangan

Steps (cont.)

5.Conduct feasibility study – Technical– Economic return– Noneconomic return– Legal and ethical– Operational– Schedule

7-7

Page 8: Metodologi Pengembangan

Steps (cont.)

6.Prepare study project proposal– Goes to MIS steering committee

7.Approve or disapprove (go/no go)– Key questions?1.Will the system accomplish its goals?2.Is this the best way to go about it?

7-8

Page 9: Metodologi Pengembangan

Steps (cont.)

8.Establish a control mechanism– Think in terms of:• 1. What• 2. Who• 3. When (Person-months versus calendar months)

– PERT and CPM network diagrams

7-9

Page 10: Metodologi Pengembangan

Define theproblem

Consult

Prepare a system study proposal

Establish a control mechanism

Approve or disapprove the study project

Recognize the problem

Set system objectives

Identify systemconstraints

The Planning PhaseMIS Steering Comm Manager Systems Analyst

1.

2.

3.

4.

5.

6.

7.

8.

Conduct a feasibility study

7-10

Page 11: Metodologi Pengembangan

Analysis Phase

• Steps1.Announce• Reasons for project• Purpose: inform and counteract fear

2.Organize project team • User(s)• Specialists• Define roles

7-11

Page 12: Metodologi Pengembangan

Analysis Phase (cont.)

3. Define information needs• Methods– Personal interview (the preferred method)–Observation– Record search (includes review of existing

documentation)– Surveys

A project directory can be maintained as an encompassing set of documentation to describe the system

7-12

Page 13: Metodologi Pengembangan

Analysis Phase (cont.)

4. Define system performance criteria5. Prepare design proposal(Compare to system study proposal)6. Approve or disapprove the design

project

7-13

Page 14: Metodologi Pengembangan

Announce the system study

Organize the project team

Define information needs

Define system performance criteria

Preparedesign

proposal

Approve or disapprove the design project

1.

2.

3.

4.

5.

6.

The Analysis PhaseMIS Steering Committee Manager Systems Analyst

7-14

Page 15: Metodologi Pengembangan

Design Phase

1.Prepare detailed design– Structured design (top down)• System level• Subsystem level

– Documentation tools

2. Identify alternate system configurations– Refine to a manageable set

7-15

Page 16: Metodologi Pengembangan

Design Phase (cont.)

3. Evaluate configurations4. Select best configuration5. Prepare implementation proposal6. Approve or disapprove the system

implementation

7-16

Page 17: Metodologi Pengembangan

Approve or disapprove the system implementation

Prepare the detailed design system

Identify alternate system

configurations

Evaluate system

configurations

Select the best

configuration

Prepare the implementation

proposal

1.

2.

3.

4.

5.

6.

MIS Steering Committee Manager Systems Analyst

The Design Phase

7-17

Page 18: Metodologi Pengembangan

Implementation Phase

• Acquire and integrate the physical and conceptual resources to produce a working system

7-18

Page 19: Metodologi Pengembangan

Steps for the Implementation Phase

1. Plan implementation2. Announce3. Obtain hardware resources

RFP / Written Proposals4. Obtain software resources

"Make or buy"5. Prepare database6. Prepare physical facilities7. Educate participants and users8. Prepare cutover proposal9. Approve or disapprove cutover to new systsem 10. Cutover to new system

7-19

Page 20: Metodologi Pengembangan

Plan the implementation

Announce the implementation

Control

Cutover the new system

Obtain the hardware resources

Obtain the softwareresources

Prepare the database

Educate the participants and users

Prepare the physical facilities

Control

1.

2.

3

4

5

6

7

8.

The Implementation PhaseMIS Steering Committee Manager Information Specialists

7-20

Page 21: Metodologi Pengembangan

Cutover Approaches

Old System

Old System New System

Immediate cutoverPhased cutover

Parallel cutover

Pilot System

Immediate

Old SystemNew SystemPhased

New system

Old SystemParallel

Time

Pilot

7-21

Page 22: Metodologi Pengembangan

Use Phase 1.Use2.Audit (post implementation review)• By information specialist(s)• By internal auditor (a different one from the

project team member)

3. Maintain the system• Correct errors• Keep current• Improve

4. Prepare reengineering proposal5. Approve or disapprove reengineering

7-22

Page 23: Metodologi Pengembangan

The Use Phase

Control Use thesystem

Audit thesystem

Maintain the

system

Preparere-

engineeringproposal

Approve or disapprove thereengineering proposal

MIS Steering Committee Manager Information Specialists

12

3

4

5

7-23

Page 24: Metodologi Pengembangan

LSIK - TI 24

SDLC(lanjutan)

Page 25: Metodologi Pengembangan

SDLC(lanjutan)

Page 26: Metodologi Pengembangan

PROTOTYPING• A prototype is a version of a potential system that

provides the developers and potential users with an idea of how the system will function when completed

• In prototyping, a prototype is produced as quickly as possible, perhaps overnight, to obtain user feedback that will enable the prototype to be improved

• Figure 7.5 shows the four steps involved in developing an evolutionary prototype

• Figure 7.6 shows the steps involved in developing a requirements prototype

• As prototyping has proven to be one of the most successful methodologies, it would be difficult to find a development project that didn’t use it to some degree

26

Page 27: Metodologi Pengembangan

27

Page 28: Metodologi Pengembangan

28

Page 29: Metodologi Pengembangan

LSIK - TI 29

…metode prototyping

• Keuntungan:– Komunikasi user dan pengembang intensif– User terlibat aktif dalam menentukan requirement– Waktu pengembangan relatif singkat– Implementasi mudah karena pemakai mengetahui dari awal apa yang

akan diperolehnya

• Kelemahan:– Kemungkinan terjadi shortcut dalam pendefinisian masalah– Pemakai bisa terlalu berlebih menentukan requirement sehingga sulit

dipenuhi– Kemungkinan tidak dihasilkan rancangan yang baik

Page 30: Metodologi Pengembangan

RAPID APPLICATION DEVELOPMENT

• Rapid Application Development (RAD), is a term coined by James Martin. It refers to a development life cycle intended to produce systems quickly without sacrificing quality

• Information engineering is the name that Martin gave to his overall approach to system development, which treats it as a firm-wide activity, while the term enterprise is used to describe the entire firm

• Figure 7.7 illustrates the top-down nature of information engineering, involving both data (the left face of the pyramid) and activities (the right face)

30

Page 31: Metodologi Pengembangan

31

Page 32: Metodologi Pengembangan

RAD (cont.)

• RAD requires four essential ingredients:• Management • People • Methodologies • Tools

• Of all the components of information engineering, RAD has probably enjoyed the greatest support

32

Page 33: Metodologi Pengembangan

PHASED DEVELOPMENT• This is an approach for developing information

systems that consists of six stages: 1. Preliminary investigation2. Analysis 3. Design 4. Preliminary construction5. Final construction6. System test and installation

• The analysis, design, and preliminary construction stages are taken for each system module

• The six phased development stages are illustrated in Figure 7.8

• Figure 7.9 illustrates how the module phases are integrated into the system development

33

Page 34: Metodologi Pengembangan

34

Page 35: Metodologi Pengembangan

35

Page 36: Metodologi Pengembangan

Object-Oriented System Analysis & Design

• Examining the objects that are a part of the system• OO describe entities as objects• Development of system that must change rapidly

in response to dynamic business environment

• Unified Modeling Diagram (UML) – Use Case, Class Diagram

Page 37: Metodologi Pengembangan
Page 38: Metodologi Pengembangan

Agile Approach

• Based on values, principles, core practices• Values communication, simplicity, feedback,

courage• Adjusting important resource: time, cost,

quality, scope

Page 39: Metodologi Pengembangan

Agile Approach Principles

Page 40: Metodologi Pengembangan

Agile Approach Practices

• Short release• Fourty-hour work week• Onsite customer• Pair programming

Page 41: Metodologi Pengembangan
Page 42: Metodologi Pengembangan

1. Exploration

• Exploring the environment• Asserting your conviction that the problem can and

should be approached with agile development• Assemble the team, asses team member skill

• Time week, month• Point

– Get the customer to refine a story– Understanding the work environment, its problem,

technologies, and people

Page 43: Metodologi Pengembangan

2. Planning

• Time: few days

• Dealing the amount of time to build the solution

• “planning game” – talking the goal maximize value of the system– strategy downplaying risk– pieces to move “story card”– players involved development team, customer

Page 44: Metodologi Pengembangan

3. Iterations

• Cycles of testing, feedback, change• Time: three weeks

• Sketch out the entire architecture of the system• Run customer-written functional tests at the end

of each iteration• “Make small ritual out of successful iteration…

celebrate your progress” culture for motivating

Page 45: Metodologi Pengembangan

4. Productionizing

• Time: One week

• Daily briefing

Page 46: Metodologi Pengembangan

5. Maintenance

Page 47: Metodologi Pengembangan

Choosing System Development

• Must do:– Understand the organization– Budget time and resources develop project proposal– Interview organizational members, and gathering detail data

• SDLC & OODLC extensive planning & diagraming• Agile & OODLC allow subsystems to be build one at a

time • Agile & SDLC concerned about the way data logically

moves through the systems

Page 48: Metodologi Pengembangan
Page 49: Metodologi Pengembangan

Tugas Baca

• Valacich, Joseph, et al., Essentials of System Analysis and Design-5th ed., Pearson Education Inc., New Jersey , 2012 (Appendix A & B)

• Kendall, Kenneth E., and Kendall, J. E., System Analysis and Design-8th ed., Pearson Education Inc., New Jersey, 2011 (Chapter 1, 8, 10)