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
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
4
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
                                       1.             problem


                                                    Define the
                                                     problem
                                       2.
                                               Set system objectives
                                       3.                                   Consult

                                                  Identify system
                                       4.           constraints

                                                                                Conduct a
                                                                       5.    feasibility study


                                                                            Prepare a system
                                                                       6.   study proposal



7.   Approve or disapprove the study project



8.                                 Establish a control mechanism
                                                                                             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
The Analysis Phase
 MIS Steering
                               Manager                  Systems Analyst
  Committee
1.       Announce the system study

                          2.          Organize the project team

                          3.          Define information needs

                          4.    Define system performance criteria

                                                           Prepare
                                                   5.       design
                                                           proposal

                                                                      7-14
6.   Approve or disapprove the design project
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
                                             1.     detailed
                                                     design


The Design Phase
                                                     system

                                              2.      Identify
                                                     alternate
                                                      system
                                                   configurations


                                              3.     Evaluate
                                                      system
                                                   configurations


                                              4.    Select the
                                                       best
                                                   configuration

                                              5.     Prepare the
                                                   implementation
                                                      proposal

          Approve or disapprove the system
     6.
                  implementation                                    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

 1.                      Plan the implementation

 2.       Announce the implementation

                                               3              Obtain the
                                                          hardware resources

                                               4          Obtain the software
                                                               resources
                                               5         Prepare the database
      Control                    Control
                                               6             Prepare the
                                                           physical facilities
                                               7              Educate the
                                                         participants and users

                          8.            Cutover the new system
                                                                                 7-20
Cutover Approaches
                      Old
    Pilot
                     System
                                 Immediate cutover
                        Pilot    Phased cutover
                       System
                                  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
                            1
                                                        system
                                  Use the
            Control
                                  system
                                                3      Maintain
                                                         the
                                                       system


                                                4       Prepare
                                                          re-
                                                      engineering
                                                       proposal

               Approve or disapprove the
        5       reengineering proposal

                                                             7-23
SDLC    (lanjutan)




LSIK - TI      24
SDLC(lanjutan)
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
27
28
…metode prototyping
• Keuntungan:                               • Kelemahan:
        – Komunikasi user dan                  – Kemungkinan terjadi shortcut
          pengembang intensif                    dalam pendefinisian masalah
        – User terlibat aktif dalam            – Pemakai bisa terlalu berlebih
          menentukan requirement                 menentukan requirement
        – Waktu pengembangan relatif             sehingga sulit dipenuhi
          singkat                              – Kemungkinan tidak dihasilkan
        – Implementasi mudah karena              rancangan yang baik
          pemakai mengetahui dari
          awal apa yang akan
          diperolehnya




LSIK - TI                              29
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
31
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
PHASED DEVELOPMENT
•   This is an approach for developing information
    systems that consists of six stages:
      1.   Preliminary investigation
      2.   Analysis
      3.   Design
      4.   Preliminary construction
      5.   Final construction
      6.   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
34
35
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 Principles
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
5. Maintenance
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)

Metodologi Pengembangan

  • 1.
  • 2.
    THE SYSTEMS DEVELOPMENTLIFE CYCLE • The system life development cycle (SDLC) is an application of the systems approach methodology to the development of an information system 2
  • 3.
    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
  • 4.
  • 5.
    Planning Phase • Benefits – Define scope of the project – Spot potential problems – Arrange tasks in sequence – Provide basis for control 7-5
  • 6.
    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
  • 7.
    Steps (cont.) 5.Conduct feasibilitystudy – Technical – Economic return – Noneconomic return – Legal and ethical – Operational – Schedule 7-7
  • 8.
    Steps (cont.) 6.Prepare studyproject 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
  • 9.
    Steps (cont.) 8.Establish acontrol mechanism – Think in terms of: • 1. What • 2. Who • 3. When (Person-months versus calendar months) – PERT and CPM network diagrams 7-9
  • 10.
    The Planning Phase MIS Steering Comm Manager Systems Analyst Recognize the 1. problem Define the problem 2. Set system objectives 3. Consult Identify system 4. constraints Conduct a 5. feasibility study Prepare a system 6. study proposal 7. Approve or disapprove the study project 8. Establish a control mechanism 7-10
  • 11.
    Analysis Phase • Steps 1.Announce • Reasons for project • Purpose: inform and counteract fear 2.Organize project team • User(s) • Specialists • Define roles 7-11
  • 12.
    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
  • 13.
    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
  • 14.
    The Analysis Phase MIS Steering Manager Systems Analyst Committee 1. Announce the system study 2. Organize the project team 3. Define information needs 4. Define system performance criteria Prepare 5. design proposal 7-14 6. Approve or disapprove the design project
  • 15.
    Design Phase 1.Prepare detaileddesign – Structured design (top down) • System level • Subsystem level – Documentation tools 2. Identify alternate system configurations – Refine to a manageable set 7-15
  • 16.
    Design Phase (cont.) 3.Evaluate configurations 4. Select best configuration 5. Prepare implementation proposal 6. Approve or disapprove the system implementation 7-16
  • 17.
    MIS Steering Committee Manager Systems Analyst Prepare the 1. detailed design The Design Phase system 2. Identify alternate system configurations 3. Evaluate system configurations 4. Select the best configuration 5. Prepare the implementation proposal Approve or disapprove the system 6. implementation 7-17
  • 18.
    Implementation Phase • Acquireand integrate the physical and conceptual resources to produce a working system 7-18
  • 19.
    Steps for theImplementation 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
  • 20.
    The Implementation Phase MISSteering Committee Manager Information Specialists 1. Plan the implementation 2. Announce the implementation 3 Obtain the hardware resources 4 Obtain the software resources 5 Prepare the database Control Control 6 Prepare the physical facilities 7 Educate the participants and users 8. Cutover the new system 7-20
  • 21.
    Cutover Approaches Old Pilot System Immediate cutover Pilot Phased cutover System Parallel cutover Immediate Old System New System Phased New System Old System Old System Parallel New system 7-21 Time
  • 22.
    Use Phase 1.Use 2.Audit (postimplementation 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
  • 23.
    The Use Phase MISSteering Committee Manager Information Specialists 2 Audit the 1 system Use the Control system 3 Maintain the system 4 Prepare re- engineering proposal Approve or disapprove the 5 reengineering proposal 7-23
  • 24.
    SDLC (lanjutan) LSIK - TI 24
  • 25.
  • 26.
    PROTOTYPING • A prototypeis 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
  • 27.
  • 28.
  • 29.
    …metode prototyping • Keuntungan: • Kelemahan: – Komunikasi user dan – Kemungkinan terjadi shortcut pengembang intensif dalam pendefinisian masalah – User terlibat aktif dalam – Pemakai bisa terlalu berlebih menentukan requirement menentukan requirement – Waktu pengembangan relatif sehingga sulit dipenuhi singkat – Kemungkinan tidak dihasilkan – Implementasi mudah karena rancangan yang baik pemakai mengetahui dari awal apa yang akan diperolehnya LSIK - TI 29
  • 30.
    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
  • 31.
  • 32.
    RAD (cont.) • RADrequires four essential ingredients: • Management • People • Methodologies • Tools • Of all the components of information engineering, RAD has probably enjoyed the greatest support 32
  • 33.
    PHASED DEVELOPMENT • This is an approach for developing information systems that consists of six stages: 1. Preliminary investigation 2. Analysis 3. Design 4. Preliminary construction 5. Final construction 6. 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
  • 34.
  • 35.
  • 36.
    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
  • 38.
    Agile Approach • Basedon values, principles, core practices • Values  communication, simplicity, feedback, courage • Adjusting important resource: time, cost, quality, scope
  • 39.
  • 40.
    Agile Approach Practices • Short release • Fourty-hour work week • Onsite customer • Pair programming
  • 42.
    1. Exploration • Exploringthe 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
  • 43.
    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
  • 44.
    3. Iterations • Cyclesof 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
  • 45.
    4. Productionizing • Time:One week • Daily briefing
  • 46.
  • 47.
    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
  • 49.
    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)