Managing Systems Development Definitions Opening case

advertisement
Managing Systems Development
October 14, 2015
Definitions
• Off‐the‐Shelf software
– Standard (not custom) software applications that can be purchased from computer store.
• Custom software
– Tailor‐made software specially developed to meet a specific organization's needs and requirements.
• In‐house system development
– Developing software applications using internal IT staff
2
Opening case
• A company specialized in recycling nuclear material
• 1000+ technicians need to use a software program for entering and processing data in order to generate specialized technical reports
• Off‐the‐shelf software not available
• The company has an IT staff with technical knowledge but need an experienced IT consultant to help develop a custom made system.
3
1
Opening case: Question
• Where do you start? What are the few things that need to be done to start the process?
–
–
–
–
–
–
–
4
LEARNING GOALS
• Explain the purpose of systems development methodologies ‐ SDM.
• Discuss the major phases of the traditional Systems Development Life Cycle (SDLC) methodology.
• Discuss Alternative SDM
5
Systems Development Methodology?
• The process companies go through to develop
and maintain an information system
• Framework for successful IS development
• A System Development Methodology is used
– For building a new system
– Or for modifying an existing system
• Examples of SDM:
– System Development Life Cycle
– Joint Application Development
- Prototyping
- Rapid Application Development
6
2
Systems Development Methodology?
• The process companies go through to develop
and maintain an information system
• Framework for successful IS development
• A System Development Methodology is used
– For building a new system
– Or for modifying an existing system
• Examples of SDM:
– System Development Life Cycle
– Joint Application Development
- Prototyping
- Rapid Application Development
7
Questions
• Which of the following is true about SDM?
a)
They provide guidelines for developing IS and maintaining them which includes upgrading and improving them.
b) SDM are needed when a brand new IS has to be developed, but you don’t need to use a SDM when it comes to modifying an existing IS.
c)
When a company is engaged in developing an IS, the process involves the company’s employees who would be the potential users of the IS, and IS professionals like system analysts and programmers. But it doesn’t involve the company’s management
d) All of the above
Traditional Systems Development Planning
Life Cycle (SDLC)
Analysis
•
Seven phases 1)
2)
3)
4)
Planning
5) Testing
Systems Analysis 6) Implementation
Systems Design 7) Maintenance
Development
•
Typically one phase needs to be completed before beginning the next
•
Problem in later phase may require return to previous phase
Design
Development
Testing
Implementation
Maintenance
9
3
Questions
• In SDLC, the 7 phases are typically followed in a sequential order, which means we don’t return to a previous phase in any circumstances
 True
 False
• During the Implementation phase of the SDLC, the Development team encounters some serious problems. Which of the following phases may be the culprit?
Planning
 Analysis
 Design
 Development
 Testing
 Maintenance
10
Feasibility Analyses
Planning
System Development Schedule
• Feasibility analyses
– Technical Analysis
• Do the technologies exist to develop the system?
– Economic Analysis
• Can the organization afford the system?
• Will it provide an adequate Benefit?
– Operational Analysis (i.e. assessing the human factors that could make the project fail)
• Resistance to change
• Organizational politics
• System development schedule – Is the proposed development time line realistic?
– Is the programming team available during Programming step?
• Planning performed by Project Manager using
– Search and investigation (e.g. for technical analysis step)
– Total Cost of Ownership analysis
– Project Management software
11
Systems Analysis
Analyze current system
Define new system requirements
• Systems analyst works with company to fully understand the problem, and to detail the requirements of the proposed system
• Step 1: Analyze current system
– Objectives:
• Understand what things are done and how (business processes)
• Identify any problems associated w/ current business processes
– Techniques used:
• Talking to employees (potential users)
• Conducting interviews
• Observing employees at work
12
4
Systems Analysis
Analyze current system
Define new system requirements
• Step 2: Define new system’s requirements
– Main Objective:
• Specify What need to be done (not how to do it)
– To be defined:
•
•
•
•
Input requirements (nature of data, source, etc.)
Processing requirements
Output requirements (Types of reports, content, etc.)
Storage requirements
– Tools and techniques used:
• Data flow diagrams (DFD)
– Start with high level process
– Add more levels with increased levels of detail
• Computer‐Aided Software Engineering (CASE) tools
– Software that eases the systems development process
13
Questions
•
During what SDLC phase software programs like Microsoft Project could be used?
a)
b)
c)
d)
e)
f)
•
Maintenance
Implementation
Development
System Analysis
Planning None of the above
Which of the following tools or techniques could be used during the System Analysis phase of the SDLC? (Choose all correct answers)
a)
b)
c)
d)
e)
Interviews
Observing future users doing their job
Using pseudocode
Using software programs to draw data flow diagrams
All of the above
14
Questions
•
What kind of feasibility analysis seeks to determine if an organization can afford the new information system and if the system will provide the adequate benefits? a)
b)
c)
d)
e)
•
Operational Feasibility
Financial Feasibility
Economic Feasibility
Beneficial Feasibility
None of the above
During the Development phase of a new medical IS, the development team finds out that most of the technologies needed to develop and implement the system are not yet available on the market. At what step of the SDLC that kind of problem should have been identified? a)
b)
c)
d)
e)
f)
Maintenance
Implementation
Development
System Analysis
Planning None of the above
15
5
Data Flow Diagrams (DFD)
Process
. Symbolized by a rectangle or a curved rectangle.
. Action performed by people of organizational
units in order to transform input into output OR
Action performed by people in the organizational
units to help the units achieve their objectives
Data flow
. Symbolized by an arrow.
. Shows data being passed from or to a process
External Entity
Symbolized by a square, an external entity is
something (person, group, department, etc.)
outside the system that interacts with the system
by providing input or receiving information.
Data storage
Used to store data in the system.
Represents a file, a database, etc.
16
Exercise 1: DFD
• Use Data Flow Diagram to illustrate your school’s registration system. Assume that Students are external entities. Also assume that the three processes involved in course registration are:
– Verify Course availability: after receiving a course request from a student. This involves checking the Course file
– Enroll the student: in the course after verifying course availability. This involves updating the Student file.
– Confirm registration. This involves writing an confirmation letter and sending it to the student
17
Exercise 2: DFD
• Do the Lincoln Pizza’s ordering system DFD exercise available at:
http://www.eiu.edu/~a_illia/MBA5670/DFDExerci
se.htm
18
6
Systems Design
Logical system design
Physical system design
• Using the requirements from the Systems Analysis phase to design the new or modified system.
– Logical systems design
• Details the system’s functionality (what it should do?)
• Uses Structure charts to create top‐down representation of system’s modules
• Uses System flowcharts to show relationships between modules
– Physical systems design
• Specifies all of the actual components (hardware, network, databases) used to implement the logical design
– The design must be frozen at end of this phase to prevent the system from growing indefinitely in terms of its scope and features
• Scope creep (continuous growth in a project's scope)
• Features creep continuous growth in a project's features)
• Performed by system designer or (system analyst in some case)
19
Development
Creating databases
Writing programs
Implementing networks components
• Programming is usually the most difficult and time consuming in the Development phase. • Development performed by programmers, database developers, and network engineers
• Programmers use Program Development Cycle
1)
2)
3)
4)
5)
Review the input, processing, output, and storage requirements
Develop the logic of the programs (using Flowcharts and Pseudo code)
Write the programs using code generators & programming languages
Test and debug the programs
Complete the programs documentation
20
Development tools
Program Flowchart:
Graphical illustration of
the problem-solving logic
within a program
Pseudocode:
English-language
statements that describe
the processing steps of a
program in paragraph
form.
Code generators:
Software that
generate programs
that programmers
could modify.
Programming languages:
-Java
-C++
-Visual Basic
-Etc.
21
7
Questions
•
During what phase of the SDLC the Database
component of a new system is created?
a)
b)
c)
d)
e)
f)
•
Maintenance
Implementation
Development
System Analysis
Planning None of the above
During what phase of the SDLC code generators could be used? a)
b)
c)
d)
e)
f)
Maintenance
Implementation
Development
System Analysis
Planning None of the above
22
Testing
• Programmers test modules • Do they return proper outputs?
• Do they handle incorrect data appropriately?
• Development team do unit testing
• i.e. testing how modules work together • System testing (software along with database and network component)
– Verification: Testing system in simulated environment with simulated data
– Validation: Testing system in real working environment with real data
23
Implementation
• Implementation strategies
– Direct cutover: Quick change to new system
– Parallel conversion: Old and new systems used in parallel for a while.
– Pilot testing: New system installed at only one location or one department
– Staged conversion: Only one part of the system installed, then another part is installed.
• User training
24
8
Maintenance
• Maintenance counts for as much as 80% of the total cost of an information system
• Tasks
– Correcting errors found during implementation
– System enhancements • Incremental upgrades
• Addition of major new features
25
Questions
• The implementation strategy in which the old system is immediately replaced by the new one is called: a)
b)
c)
d)
Staged conversion
Direct cutover
Systematic testing
None of the above
• Validation testing performed during the Testing phase of the SDLC ensures that the system is working properly in the real working environment using real data. a) True
b) False
26
SDLC: Recap
Steps
Key actors
Tools/Techniques
1. Planning
Project Manager
TCO, Project Management software
2. System Analysis
System Analyst, Users.
Interviews, observing users at work, DFD
System Flowchart, Structure chart
3. System Design
System analyst (or system designer)
4. Development
Programmers, database developers, Program Flowchart, Pseudo code, network engineers
programming languages
5. Testing
Development team, Users
Modules’ testing, units’ testing, System’s testing (verification, validation)
6. Implementation
Development team, Users
Direct cutover, parallel conversion,
pilot testing, staged conversion
7. Maintenance
internal IS staff, external consultant
9
Summary Questions
Book
Notes
1) What is a System Development Methodology? What is it used for?
2) What are the 7 phases of the SDLC methodology?
3) What kind of Feasibility analyses need to be performed during the Planning phase? Why is the system development schedule important?
4) What are the two steps in the Systems Analysis phase? What techniques and tools are used during the Systems Analysis phase?
5) What tools do programmers usually use during the Development phase?
6) What is the difference between the Verification and the Validation tests performed during systems testing?
28
Problems with Traditional SDLC
• SDLC is time consuming
• SDLC is not flexible (sequential process)
• SDLC gets users’ inputs ONLY during Systems analysis. • Design is frozen at end of System Design
29
Question 1
• Which of the following is true about SDLC? a) It might take years to develop and implement a working information system
b) Multiple teams could work simultaneously on different phases
c) It is the best methodology for situations where the needs and requirements are likely to change during the development process
d) All of the above
30
10
Prototyping
• A SDM that addresses:
– Time consuming issue associated with SDLC
– SDLC’s inability to take care of new requirements
• A SDM in which the Development team uses limited set of users requirements to quickly build a working model of the proposed system – a prototype.
31
Prototyping
Actors
Identify basic
requirements
Operational
prototype
YES
Development team, Users
Develop a
prototype
System analyst, programmer
Use the
prototype
Users
Is User
satisfied?
NO
Develop final system
(improved prototype)
Revise the
prototype
System analyst, programmer
32
Prototyping
• Advantages
– Working model ready quickly
– Works in situation where requirements are changing
– Works in situations where users cannot explicitly express their requirements
• Disadvantage
– Only a limited number of users involved. So, subject to potential implementation problem.
33
11
Joint Application Development (JAD)
• A SDM that addresses:
– The limited scale of users involvement problem of Prototyping
– Potential implementation problem due to limited users involvement
• A SDM that brings together the Development team and a significant number of users to define system requirements and develop a prototype.
34
Joint Application Development (JAD)
Objectives
Identify a valid
sample of users
Set a JAD team
(Users, IS professionals, scribe)
Run the 1st JAD session
(JAD team + Facilitator)
Identify agreed upon systems requirements
Develop system prototype
(based on agreed requirements)
Run the 2nd JAD session
(JAD team + Facilitator)
Test the system and identify agreed changes
Improve system prototype
(based on JAD session results)
35
Question 2
• Which of the following is true about a JAD facilitator? (Choose all that apply)
a)
b)
c)
d)
Could be an outside consultant
Is the scribe who takes notes
Is responsible for coordinating the JAD sessions
Is responsible for developing the system based on the agreed upon requirements
e) All of the above
36
12
Joint Application Development (JAD)
• Advantages:
– Helps alleviate conflicting requirements
– Its greater users involvement leads to greater user acceptance of final system
• Disadvantages
– Could be expensive and time consuming
37
13
Download