Upload
muriel-beatrice-hardy
View
219
Download
1
Tags:
Embed Size (px)
Citation preview
Systems Analysis & Design
5th Edition
Chapter 5
Data and Process Modeling
22
Chapter Objectives
● Describe software trends, including the concept of software as a service
● Explain software acquisition alternatives, including traditional versus Web-based software development strategies
● Describe software outsourcing options, including the role of service providers
● Explain advantages and disadvantages of developing software in-house versus other alternatives
33
Chapter Objectives
● Explain cost-benefit analysis and financial analysis tools
● Explain the differences between a request for proposal (RFP) and a request for quotation (RFQ)
● Describe the contents of the system requirements document
44
Chapter Objectives
● Explain the transition from systems analysis to systems design, and the difference between logical and physical design
● Explain the transition to systems design and the importance of prototyping
● Discuss guidelines for system design, and explain the importance of codes
55
Introduction
● Chapter 5 describes the remaining activities in the systems analysis phase
● The chapter also describes the transition to systems design, prototyping, design guidelines, and using codes to represent values and simplify data entry
66
Development Strategies Overview
● Selecting the best development path is an important decision that requires companies to consider three key issues– Web-based software trends– Software outsourcing options– In-house software development
alternatives
77
Web-Based Software Trends
● The Internet has triggered enormous changes in business methods and operations, and software acquisition is no exception
● This section examines a trend that views software as a service, the changing market-place for software, and how Web-based development compares to traditional methods
88
Web-Based Software Trends
● Software as a Service– The Software and Information Industry
Association (SIIA) is an industry group that focuses on the digital economy
– SIIA believes that the concept of software as a service is redefining the way that companies develop and deploy their information systems
99
Web-Based Software Trends
● The Changing Software Marketplace– In the traditional model, software vendors
develop and sell application packages to customers
– In addition to traditional vendors, the marketplace now includes many forms of outsourcing, including application service providers and firms that offer Internet business services
1010
Web-Based Software Trends
● The Impact of the Internet on Systems Development– Developers will focus on Web-based
application development, which builds the Web into the application, rather than the other way around
• IBM’s WebSphere• Microsoft’s .NET
1111
Web-Based Software Trends
● The Impact of the Internet on Systems Development– Traditional development
• System design is influenced by compatibility issues
• Systems are designed to run on local and wide-area company networks
• Web-based features are treated as enhancements rather than core elements of the design
1212
Web-Based Software Trends
● The Impact of the Internet on Systems Development– Web-based development
• Systems are developed and delivered in an Internet-based framework such as .NET or WebSphere
• Internet-based development treats the Web as the platform, rather than just a communication channel
• Web-based software usually requires additional layers, called middleware
1313
Software Outsourcing Options
● Outsourcing is the transfer of information systems development, operation, or maintenance to an outside firm that provides these services, for a fee, on a temporary or long-term basis
● Can refer to relatively minor programming tasks or the handling of a company’s entire IT function
1414
Software Outsourcing Options
● The Growth of Outsourcing– Traditionally, firms outsourced IT tasks as
a way of controlling costs and dealing with rapid technological change
– Today, outsourcing is a vital business issue that shapes a company’s overall IT strategy
– the most important factor is the potential saving in operating costs
1515
Software Outsourcing Options
● The Growth of Outsourcing– A firm that offers outsourcing solutions is
called a service provider– Application service providers (ASP)– Internet business services (IBS)
• Also called managed hosting
1616
Software Outsourcing Options
● Outsourcing Fees– A fixed fee model uses a set fee based on a
specified level of service and user support– A subscription model has a variable fee
based on the number of users or workstations that have access
– A usage model or transaction model charges a variable fee based on the volume of transactions or operations
1717
Software Outsourcing Options
● Outsourcing Issues and Concerns– Mission-critical IT systems should be out-
sourced only if the result is a cost-attractive, reliable, business solution that fits the company’s long-term business strategy
– out-sourcing can also affect day-to-day company operations and can raise some concerns
1818
Software Outsourcing Options
● Outsourcing Issues and Concerns– A company must plan outsourcing
carefully to avoid lost revenue, added expenses, and potential litigation
– The solution can be only as good as the outsourcing firm that provides the service
– Outsourcing can be especially attractive to a company whose volume fluctuates widely
– A major disadvantage of outsourcing is that it raises employee concerns about job security
1919
In-House Software Development Options
● A company can choose to develop its own systems, or purchase, possibly customize, and implement a software package
● The most important consideration is total cost of ownership (TCO)
● Companies also develop user applications designed around commercial software packages
2020
In-House Software Development Options
● Make or Buy Decision– The choice between developing versus
purchasing software often is called a make or buy, or build or buy decision
– The company’s IT department makes, builds, and develops in-house software
– A software package is obtained from a vendor or application service provider.
2121
In-House Software Development Options
● Make or Buy Decision– Companies that develop software for sale
are called software vendors– Value-added reseller (VAR)– Vertical application– Horizontal application
2222
In-House Software Development Options
● Developing Software In-House– Satisfy unique business requirements– Minimize changes in business procedures
and policies– Meet constraints of existing systems– Meet constraints of existing technology– Develop internal resources and
capabilities
2323
In-House Software Development Options
● Purchasing a Software Package– Lower costs– Requires less time to implement– Proven reliability and performance
benchmarks– Requires less technical development staff– Future upgrades provided by the vendor– Input from other companies
2424
In-House Software Development Options
● Customizing a Software Package1. You can purchase a basic package that
vendors will customize to suit your needs2. You can negotiate directly with the
software vendor to make enhancements to meet your needs by paying for the changes
3. You can purchase the package and make your own modifications, if this is permissible under the terms of the software license
2525
In-House Software Development Options
● Creating User Applications– A user application utilizes standard
business software– Help desk or information center (IC)– Screen generators– Report generators– Read-only properties
2626
Role of the Systems Analyst
● When selecting hardware and software, systems analysts often work as an evaluation and selection team
● A team approach ensures that critical factors are not overlooked and that a sound choice is made
2727
Role of the Systems Analyst
● The primary objective of the evaluation and selection team is to eliminate system alternatives that will not work, rank the system alternatives that will work, and present the viable alternatives to management for a final decision
2828
Cost-Benefit Analysis
● Financial Analysis Tools– Payback Analysis– Return on investment (ROI)– Net present value (NPV)
2929
Cost-Benefit Analysis
● Cost-Benefit Analysis Checklist– List each development strategy being
considered– Identify all costs and benefits for each
alternative. Be sure to indicate when costs will be incurred and benefits realized
– Consider future growth and the need for scalability
– Include support costs for hardware and software
3030
Cost-Benefit Analysis
● Cost-Benefit Analysis Checklist– Analyze various software licensing
options, including fixed fees and formulas based on the number of users or transactions
– Apply the financial analysis tools to each alternative
– Study the results and prepare a report to management
3131
A Software Acquisition Example
● Step 1: Evaluate the Information System Requirements– Identify key features– Consider network and web-related issues– Estimate volume and future growth– Specify hardware, software, or personnel
constraints– Prepare a request for proposal or
quotation• Request for proposal (RFP)• Evaluation model• Request for quotation (RFQ)
3232
A Software Acquisition Example
● Step 2: Identify Potential Vendors or Outsourcing Options– The Internet is a primary marketplace– Another approach is to work with a
consulting firm– Another resource is the Internet bulletin
board systems that contains thousands of forums, called newsgroups
3333
A Software Acquisition Example
● Step 3: Evaluate the Alternatives– Existing users– Application testing– Benchmarks– Match each package against the RFP
features and rank the choices
3434
A Software Acquisition Example
● Step 4: Perform Cost-Benefit Analysis– Identify and calculate TCO for each
option you are considering– When you purchase software, what you
are buying is a software license– If you purchase a software package,
consider a maintenance agreement
3535
A Software Acquisition Example
● Step 5: Prepare a Recommendation– You should prepare a recommendation
that contains your recommendation and lists the alternatives, together with the costs, benefits, advantages, and disadvantages of each option
– At this point, you may be required to submit a formal system requirements document and deliver a presentation
3636
A Software Acquisition Example
● Step 6: Implement the Solution– Implementation tasks will depend on the
solution selected– Before the new software becomes
operational, you must complete all implementation steps, including loading, configuring, and testing the software; training users; and converting data files to the new system’s format
3737
Completion of Systems Analysis Tasks
● System Requirements Document– The system requirements document, or
software requirements specification, contains the requirements for the new system, describes the alternatives that were considered, and makes a specific recommendation to management
– Like a contract– Format and organize it so it is easy to
read and use
3838
Completion of Systems Analysis Tasks
● Presentation to Management– Begin your presentation with a brief
overview of the purpose and primary objectives of the system project
– Summarize the primary viable alternatives. For each alternative, describe the costs, advantages, and disadvantages
3939
Completion of Systems Analysis Tasks
● Presentation to Management– Explain why the evaluation and selection
team chose the recommended alternative– Allow time for discussion and for
questions and answers– Obtain a final decision from management
or agree on a timetable for the next step in the process
4040
Completion of Systems Analysis Tasks
● Presentation to Management– Based on their decision, your next task
will be one of the following1. Implement an outsourcing alternative2. Develop an in-house system3. Purchase or customize a software package4. Perform additional systems analysis work5. Stop all further work
4141
The Transition to System Design
● If management decides to develop the system in-house, then the transition to the systems design phase begins
● Preparing for Systems Design Tasks– It is essential to have an accurate and
understandable system requirements document
4242
The Transition to System Design
● The Relationship between Logical and Physical Design– The logical design defines the functions
and features of the system and the relationships among its components
– The physical design of an information system is a plan for the actual implementation of the system
4343
Systems Design Guidelines
● The systems analyst must understand the logical design of the system before beginning the physical design of any one component– Data design– User interface– System design specification
4444
Systems Design Guidelines
● System Design Objectives– The goal of systems design is to build a
system that is effective, reliable, and maintainable
– A system is reliable if it adequately handles errors
– A system is maintainable if it is well designed, flexible, and developed with future modifications in mind
4545
Systems Design Guidelines
● System Design Objectives– User considerations
• Carefully consider any point where users receive output from, or provide input to, the system
• Anticipate future needs of the users, the system, and the organization
• Provide flexibility• Parameter, default
– Data Considerations• Data should be entered into the system where
and when it occurs because delays cause errors• Data should be verified when entered to catch
errors immediately
4646
Systems Design Guidelines
● System Design Objectives– Data Considerations
• Automated methods of data entry should be used whenever possible
• Access for data entry should be controlled and all entries or changes to critical data values should be reported – audit trails
• Every instance of entry and change to data should be logged
• Data should be entered into a system only once• Data duplication should be avoided
4747
Systems Design Guidelines
● System Design Objectives– Architecture considerations
• Use a modular design• Design modules that perform a single function
are easier to understand, implement, and maintain
4848
Systems Design Guidelines
● Design Trade-Offs– Design goals often conflict with each
other– Most design trade-off decisions that you
will face come down to the basic conflict of quality versus cost
– Avoid decisions that achieve short-term savings but might mean higher costs later
4949
Prototyping
● Prototyping produces an early, rapidly constructed working version of the proposed information system, called a prototype
● Prototyping allows users to examine a model that accurately represents system outputs, inputs, interfaces, and processes
5050
Prototyping
● Prototyping Methods–System prototyping–Design prototyping–Throwaway prototyping
5151
Prototyping
● Prototyping Methods– Prototyping offers many benefits
• Users and systems developers can avoid misunderstandings
• Managers can evaluate a working model more effectively than a paper specification
– Also consider potential problems• The rapid pace of development can create
quality problems• In very complex systems, the prototype
becomes unwieldy and difficult to manage
5252
Prototyping
● Prototyping Tools– Systems analysts can use powerful tools
to develop prototypes• CASE tools• Application generators• Report generators• Screen generators• Fourth-generation languages (4GLs)
5353
Prototyping
● Limitations of Prototypes– A prototype is a functioning system, but it
is less efficient than a fully developed system
– Systems developers can upgrade the prototype into the final information system by adding the necessary capability
– Otherwise, the prototype is discarded
5454
Prototyping
● Other Modeling Tools– Systems flowchart– American National Standards Institute
(ANSI)
5555
Using Codes During System Design
● Overview of Codes– Because codes often are used to
represent data, you encounter them constantly in your everyday life
– They save storage space and costs, reduce transmission time, and decrease data entry time
– Can reduce data input errors
5656
Using Codes During System Design
● Types of Codes1. Sequence codes2. Block sequence codes3. Alphabetic codes
a. Category codesb. Abbreviation codes
5757
Using Codes During System Design
● Types of codes– Significant digit codes– Derivation codes– Cipher codes– Action codes– Self-checking codes
5858
Using Codes During System Design
● Developing a Code1. Keep codes concise2. Allow for expansion3. Keep codes stable4. Make codes unique5. Use sortable codes6. Avoid confusing codes
5959
Using Codes During System Design
● Developing a Code7. Make codes meaningful8. Use a code for a single purpose9. Keep codes consistent
6060
Chapter Summary
● This chapter describes system development strategies, the preparation and presentation of the system requirements document, and the transition to the systems design phase of the SDLC
● An important trend that views software as a service, rather than a product, has created new software acquisition options
● Systems analysts must consider Web-based development environments
6161
Chapter Summary
● The systems analyst’s role in the software development process depends on the specific development strategy
● The most important factor in choosing a development strategy is total cost of ownership (TCO)
● The process of acquiring software involves a series of steps