490 likes | 685 Views
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.
E N D
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 • 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
Planning Phase • Benefits • Define scope of the project • Spot potential problems • Arrange tasks in sequence • Provide basis for control 7-5
Steps 1. Recognize problem (the trigger) 2. Define problem 3. Set objectives 4. Identify constraints Recall that objectives, standards, and constraints are problem-solving elements. 7-6
Steps (cont.) 5. Conduct feasibility study • Technical • Economic return • Noneconomic return • Legal and ethical • Operational • Schedule 7-7
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
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
The Planning Phase MIS Steering Comm Manager Systems Analyst Recognize the problem 1. Define the problem 2. Set system objectives Consult 3. Identify system constraints 4. Conduct a feasibility study 5. Prepare a system study proposal 6. 7. Approve or disapprove the study project Establish a control mechanism 8. 7-10
Analysis Phase • Steps 1. Announce • Reasons for project • Purpose: inform and counteract fear 2. Organize project team • User(s) • Specialists • Define roles 7-11
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
Analysis Phase (cont.) 4. Define system performance criteria 5. Prepare design proposal (Compare to system study proposal) 6. Approve or disapprove the design project 7-13
1. Announce the system study Organize the project team 2. Define information needs 3. Define system performance criteria 4. Prepare design proposal 5. 6. Approve or disapprove the design project The Analysis Phase MIS Steering Committee Manager Systems Analyst 7-14
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
Design Phase (cont.) 3. Evaluate configurations 4. Select best configuration 5. Prepare implementation proposal 6. Approve or disapprove the system implementation 7-16
MIS Steering Committee Manager Systems Analyst Prepare the detailed design system 1. The Design Phase 2. Identify alternate system configurations 3. Evaluate system configurations 4. Select the best configuration 5. Prepare the implementation proposal Approve or disapprove the system implementation 6. 7-17
Implementation Phase • Acquire and integrate the physical and conceptual resources to produce a working system 7-18
Steps for the Implementation Phase 1. Plan implementation 2. Announce 3. Obtain hardware resources RFP / Written Proposals 4. Obtain software resources "Make or buy" 5. Prepare database 6. Prepare physical facilities 7. Educate participants and users 8. Prepare cutover proposal 9. Approve or disapprove cutover to new systsem 10. Cutover to new system 7-19
The Implementation Phase MIS Steering Committee Manager Information Specialists Plan the implementation 1. Announce the implementation 2. 3 Obtain the hardware resources Control Control 4 Obtain the software resources 5 Prepare the database 6 Prepare the physical facilities 7 Educate the participants and users Cutover the new system 8. 7-20
Cutover Approaches Old System Pilot Immediate cutover Pilot System Phased cutover Parallel cutover Immediate Old System New System Phased New System Old System Old System Parallel New system 7-21 Time
Use Phase 1. Use 2. 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 proposal 5. Approve or disapprove reengineering 7-22
The Use Phase MIS Steering Committee Manager Information Specialists 2 Audit the system 1 Use the system Control Maintain the system 3 Prepare re- engineering proposal 4 Approve or disapprove the reengineering proposal 5 7-23
SDLC(lanjutan) LSIK - TI
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
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 …metode prototyping LSIK - TI
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)
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
PHASED DEVELOPMENT • This is an approach for developing information systems that consists of six stages: • Preliminary investigation • Analysis • Design • Preliminary construction • Final construction • 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
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
Agile Approach • Based on values, principles, core practices • Values communication, simplicity, feedback, courage • Adjusting important resource: time, cost, quality, scope
Agile Approach Practices • Short release • Fourty-hour work week • Onsite customer • Pair programming
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
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
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
4. Productionizing • Time: One week • Daily briefing
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
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)