software development

49
Software Development

Upload: ziven

Post on 24-Feb-2016

71 views

Category:

Documents


0 download

DESCRIPTION

Software Development. 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. THE TRADITIONAL SDLC. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Development

Software Development

Page 2: Software Development

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: Software Development

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: Software Development

4

Page 5: Software Development

Planning Phase• Benefits– Define scope of the project

– Spot potential problems

– Arrange tasks in sequence

– Provide basis for control

7-5

Page 6: Software Development

Steps1. 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: Software Development

Steps (cont.)5.Conduct feasibility study – Technical– Economic return– Noneconomic return– Legal and ethical– Operational– Schedule

7-7

Page 8: Software Development

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: Software Development

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: Software Development

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: Software Development

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: Software Development

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: Software Development

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: Software Development

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: Software Development

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

– Documentation tools2. Identify alternate system configurations– Refine to a manageable set

7-15

Page 16: Software Development

Design Phase (cont.)3. Evaluate configurations4. Select best configuration5. Prepare implementation proposal6. Approve or disapprove the system

implementation

7-16

Page 17: Software Development

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: Software Development

Implementation Phase

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

7-18

Page 19: Software Development

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: Software Development

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: Software Development

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: Software Development

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: Software Development

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: Software Development

LSIK - TI 24

SDLC(lanjutan)

Page 25: Software Development

SDLC(lanjutan)

Page 26: Software Development

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: Software Development

27

Page 28: Software Development

28

Page 29: Software Development

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: Software Development

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: Software Development

31

Page 32: Software Development

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: Software Development

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: Software Development

34

Page 35: Software Development

35

Page 36: Software Development

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: Software Development
Page 38: Software Development

Agile Approach

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

courage• Adjusting important resource: time, cost,

quality, scope

Page 39: Software Development

Agile Approach Principles

Page 40: Software Development

Agile Approach Practices

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

Page 41: Software Development
Page 42: Software Development

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: Software Development

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: Software Development

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: Software Development

4. Productionizing

• Time: One week

• Daily briefing

Page 46: Software Development

5. Maintenance

Page 47: Software Development

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: Software Development
Page 49: Software Development

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)