Transcript Slide 1
Chapter 12 SYSTEM DEVELOPMENT AND ACQUISITION Learning Objectives • Understand the basic concepts of systems development • Discuss the major steps in developing a decision support system (DSS) and management support system (MSS) application • Describe the major MSS applications and list their major functionalities • List the major MSS application development options, along with their benefits and limitations Learning Objectives • Describe the four phases of the system development life cycle: planning, analysis, development, and implementation (PADI) • Understand prototyping and throwaway prototyping and why MSS are typically developed using these methods • Discuss various MSS application outsourcing options, including the use of an application service provider (ASP) and utility computing Learning Objectives • Describe some major MSS software packages and MSS application suites • Describe various methods for connecting an MSS application to back-end systems and databases • Discuss the value and technical foundation of Web services in integrated applications • Understand the service-oriented architecture (SOA) and its relationship to MSS Learning Objectives • Describe the criteria used in selecting an outsourcing vendor and package • Describe the factors that lead to MSS success or failure • Discuss the importance of project management and the skills a good project manager needs to have • Understand the learning process that occurs during MSS development What Types of Support Systems Should You Build? • Introduction to MSS development – Types of Support Systems • Infrastructure – Data warehouses and business intelligence systems – Knowledge management systems – Enterprise information systems – Portals The gateways to Web sites; they can be public (like Yahoo!), or private (corporate portals) What Types of Support Systems Should You Build? • Introduction to MSS development – Types of Support Systems • Specific applications • Tools and tool kits • Platforms The Landscape and Framework of MSS Application Development The Landscape and Framework of MSS Application Development • Step 1: Planning, identifying, and justifying MSS • Step 2: Creating an MSS architecture – MSS architecture A plan for organizing the underlying infrastructure and applications of the MSS project The Landscape and Framework of MSS Application Development • Step 3: Selecting a development option – Build the system in house – Have a vendor build a custom-made system – Buy an existing application and install it, with or without modifications, by yourself or through a vendor – Lease standard software from an ASP, utility computing, or set up a software-as-a-service arrangement – Enter into a partnership or an alliance that will enable the company to use someone else's application – Use a combination of these approaches The Landscape and Framework of MSS Application Development • Step 4: Installing, testing, connecting, and deploying MSS applications • Step 5: Operations, maintenance, and updating The Landscape and Framework of MSS Application Development • Managing the development process – The development process can be fairly complex and must be managed properly – For medium to large applications, a project team is usually created to manage the process and the vendors • Project management software Development Options for MSS Applications • In-house development: Insourcing – Development options for in-house development • Building from scratch • Building from components • Integrating applications DSS Development Issues • DSS must usually be custom tailored – The application are diverse, ranging from data-oriented DSS to model-oriented DSS in different functional areas – The vendors assisted in the DSS Construction – Hardware, networking, man-machine interface and potential impact of DSS on the individual and groups. Software problem focused in this chapter – Other problem are: Fall, 2012 All Right Reserved, Zhong YAO, School of E&M, BHU 12-14 DSS Development Issues – – – – – – – – – System development life cycle (SDLC) Prototyping Objective-Oriented Developing Method ROMC Organizing and forming the development team Complex process Technical issues Behavioral issues Different approaches Fall, 2012 All Right Reserved, Zhong YAO, School of E&M, 12-15 DSS Development Platform • General-purpose programming language, such as COBOL or PASCAL. Little has been used in 1990s • Fourth-generation language (4GL), like a SQL. • OLAP with a data warehouse or large database • DSS integrated development tool (generator, engine), such as Excel, Lotus Domino. • Domain-specific DSS generator, such SAS, MAPLE, now Mathmatica, Matlab. • Use the CASE methodology • Integrate several of the above Fall, 2004 @ All Right Reserved, Zhong YAO, School of E&M, BHU 12-16 Traditional Systems Development Life Cycle (SDLC) (Waterfall) Need Planning Analysis Design Implementation System Fall, 2012 All Right Reserved, Zhong YAO, School of E&M, 12-17 Traditional Systems Development Life Cycle (SDLC) – – – – – – – – Phase A-Planning, Phase B-Research, Phase C-System Analysis and Conceptual Design, Phase D-Design, Phase E-Construction, Phase F-Implementation, Phase G-Maintenance and Documentation, Phase H-Adaptation • Simplifying Into Four Phases: – – – – Planning (Phase A, and Phase B) or initiation Analysis (Phase C) Design (Phase C , D, and E) Implementation (Phase F, G, and H) Fall, 2012 All Right Reserved, Zhong YAO, School of E&M, 12-18 Traditional Systems Development Life Cycle (SDLC) • Planning - Why Build the System? Minor Step Deliverable 1. Identify business value 2. Analyze feasibility 3. Develop work plan 4. Staff project System request Feasibility study Work plan Staffing plan, Project charter Project management tools CASE tool Standards list Project binders / files Risk assessment 5. Control and direct project Fall, 2012 All Right Reserved, Zhong YAO, School of E&M, 12-19 Traditional Systems Development Life Cycle (SDLC) • Analysis- Who, What, When, Where? Minor Step Deliverable 6. Analyze problem Analysis plan 7. Gather information Information 8. Model process(es) Process model 9. Model data Data model Fall, 2012 All Right Reserved, Zhong YAO, School of E&M, 81220 Traditional Systems Development Life Cycle (SDLC) • Design - How Will the System Work? Minor Step Deliverable 10. Design physical system Design plan 11. Design architecture Architecture design, Infrastructure design 12. Design interface Interface design 13. Design database and files Data storage design 14. Design program(s) Program design Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-21 Traditional Systems Development Life Cycle (SDLC) • Implementation--- System Delivery Minor Step Deliverable 15. Construction Test plan, Programs, Documentation 16. Installation Conversion plan, Training plan Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-22 Traditional Systems Development Life Cycle (SDLC) • Common Implementation Headaches – – – – – – – – No project team or management support Hazy purpose; no defined schedule; ballooning scope Unclear aspects of make vs. buy decisions Few project integrations are functional out of the box Qualitative benefits No user buy in Poor project management skills No accountability (责任) / no responsibility Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-23 Traditional Systems Development Life Cycle (SDLC) • CASE Tools Functions – – – – – Information systems for systems analysts Can help manage system development Upper CASE (assists in analysis) Lower CASE (manages diagrams and code generation) Integrated CASE (both) • Often used tools: – – – – – – – – Oracle Enterprise Development Suite Rational Rose Paradigm Plus Visible Analyst Logic Works Suite AxiomSys and AxiomDsn V32 & X32 Visual Studio Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-24 Traditional Systems Development Life Cycle (SDLC) • Project Management (PM) – Team leader must have good PM skills – Major reason for IS development failures-bad PM skills – Only 26% of all projects surveyed (23,000) in 1998 succeeded – 28% failed, 46% challenged – Lower success rates for large companies – Better PM skills needed • Skills for Project Managers – Technology and business knowledge – Judgment – Negotiation Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-25 Traditional Systems Development Life Cycle (SDLC) – Good communication – Organization • Implementation Failures (DW Example) – No user involvement – No clear objectives stated early – No real executive sponsorship – Not appropriate for the DSS development Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-26 Alternative Development Methodologies • Parallel development • Rapid application development (RAD) methodologies – Phased development – Prototyping – Throwaway prototyping Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-27 Alternative Development Methodologies • Parallel Development – Multiple copies of design and implementation phases – To develop separate subsystems – All come together in a single implementation phase • Phased Development – Break system up into versions developed sequentially – Each version has more functionality – Evolves into a final system – Users gain functionality quickly – But initial systems are incomplete Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-28 Alternative Development Methodologies • Prototyping (also called Evolutionary Prototyping Process, iterative process, middle-out process, adaptive design, incremental design) Characteristics: – Performing analysis, design, and implementation phases concurrently, and repeatedly – Users see system functionality quickly and provide feedback – Decision maker learns about problem – But can lose gains in repetition • Aims: building a DSS in a series of short steps with immediately feedback from users to ensure that development is proceeding correctly. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-29 Alternative Development Methodologies • Developing processes: – Select an important sub-problem to be built first. User and the builder jointly identify a subproblem for which the initial DSS is constructed. This early joint effort sets up initial working relationships between the participants and opens the lines of communication. The subproblem should be small enough that the nature of the problem, the need for computer-based support, and the nature of the at support are clear. It should have high interest value to the decision maker even if that interest is shortlive. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-30 Alternative Development Methodologies – Develop a small but usable system for the decision maker. No major system analysis or feasibility analysis is involved. In fact, the builder and the user go through all the steps of the system development process quickly, though on a small scale. The system should, out of necessarily, be simple. – Evaluate the system constantly. At the end of each cycle the system is evaluated by the user and builder. Evaluation is an integral part of the development process, and is the control mechanism for the entire iterative design process. The evaluation mechanism is what keeps the cost and effort of developing a DSS Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-31 Alternative Development Methodologies – consistent with its value. At the end of the evolution a decision is made on whether to further refine the DSS, or to stop. – Refine, expand, and modify the system in cycles. Subsequent cycles expand and improve the original version of the DSS. All the analysis, design, construction, implementation, and evaluation steps are repeated in each successive refinement. • Advantages of Prototyping – Short developing time – Short user reaction time – Improve user understanding of the system, its information needs, and its capabilities. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-32 Alternative Development Methodologies – Low cost. • Disadvantages and Limitations – Gains maybe lost. • Gains includes: Understanding Information systems benefits and costs, a detailed description of the business’s information needs, an easy to to maintain information system design, a well-tested information system, and well-prepared users. – Combined with the critical success factor method • Depend on the DSS built by the end-user or a DSS team. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-33 Prototyping Need Planning Analysis Design Implementation Prototype Prototype Not OK Prototype OK System Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-34 Alternative Development Methodologies • Throwaway Prototyping – Like prototyping and SDLC – Analysis phase is thorough – Design prototypes assist in understanding the system – Example: can use Excel, then Visual Basic • Prototyping for DSS Development – Problems are semistructured or unstructured – Managers and developers may not completely understand problem – Use prototyping Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-35 Throwaway Prototyping Need Planning Analysis Design Design Design Prototype Not OK Implementation Implementation Design Prototype Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, Syste m 8-36 Alternative Development Methodologies • Why Prototyping? – Users and managers involved in every phase and iteration – Learning is part of design – Prototyping bypasses the information requirement definition – Short interval between iterations – Initial prototype must be low cost Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-37 Team-Developed DSS • A team-Developed DSS needs: – – – – Substantial effort. Extensive planning and organization Some generic activities Group of people to build and to manage it (users, intermediaries, DSS builder, technical support experts and IS personnel) Size depends on • Effort • Tools • For example, some project needs 2-3 people, but other maybe 15-20 people. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-38 Team-Developed DSS • DSS development group varies: – Within the IS department – As a highly placed executive staff group – Within the finance or other functional area – Within the industrial engineering department – Within the management science group – Within the information center group • The process that a DSS team may follow depends on the specific application. The group may be temporary, created for a specific DSS, or it may be permanent, in which case the group members are assigned to specific DSS project. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-39 Team-Developed Versus UserDeveloped DSS • DSS 1970s and early 1980s were large-scale, complex systems designed primarily to provide organizational support. Therefore, these process needs team effort to complete and maintain. • Another approach is user-developed system. – – – – – – – – – – – Personal computers Computer communication networks PC-mainframe communication Friendly development software Reduced cost of software and hardware Increased capabilities of personal computers Enterprise-wide computing Easy accessibility to data and models Client/server architecture Now OLAP Balance Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-40 End-user Computing and User-Developed DSS • End-user Computing (end-user development): development and use of computer-based information systems by people outside the formal information systems areas. This definition includes many people, such as manager, professionals using PCs, Secretaries using Word processing tools, etc. • End-users Can be – – – – At any level of the organization In any functional area Levels of computer skill vary Growing Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-41 End-user Computing and User-Developed DSS • • End-User Developed DSS Advantages – Short delivery time – Eliminate extensive and formal user requirements specifications – Reduce some DSS implementation problems – Low cost End-User Developed DSS Risks – Poor Quality – Quality Risks Substandard or inappropriate tools and facilities Development process risks Data management risks – Increased Security Risks – Problems from Lack of Documentation and Maintenance Procedures Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-42 End-user Computing and User-Developed DSS • Issues in Reducing End-User Computing Risks – Error detection – Use of auditing techniques – Determine the proper amount of controls – Investigate the reasons for the errors – Solutions – Spreadsheet errors • Should use same controls as normal IS Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-43 Developer Attributes Age Gender Computer Confidence Domain Experience Application Expertise Development Expertise Math anxiety Cognitive style Application Type Spreadsheet Database Others End-user development Application Outcomes Reliability Ease of use Maintainability Auditability Cost Problem/process Char. Problem Complexity Time Pressure Existence of Review Other Developer Approach Ad Doc Structured Fall, 2004 Developer Configuration Singles Pairs 3+ All Right Reserved, Zhong YAO, School of E&M, 8-44 Supplement of Development Method • ROMC system analysis method: Aims Mainly: – The decision maker requirements and – Capabilities of the DSS. • Concept: Representation, Operations, Memory Aids, and Control Mechanisms • Representation: the user interface for the users of the DSS, (the displaying forms of the information required for the decision making, because any decision making needs lots of the information (such as charts, images, figures and equations)) • Operations: manipulating the various information, including database retrieve, data sorting and calculating, plotting; Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-45 Supplement of Development Method of course, various of modeling calculations are also included. • Memory Aids: mediate results need to store so that later models or calculation to reuse. Therefore, Memory Aids design is the data structure and database design. It stores the variety of the valuable information and mediate results so that sequential operations to use. For example: – Recording internal and external data – Storing temporal results produced by an ad hoc analysis – Reminding the decision makers for some operations backup design – Directory of the status of information and the set values internally Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-46 Supplement of Development Method • Control Mechanisms: All of above three aspects can support various decision process and status. Control Mechanism as a decision procedure combined uses the representation, operations and memory aids in which it depends on the styles , skills, and knowledge of decision maker. There are two kinds of functions: – Building specification of using procedures and skills, e.g., using menu to select a manipulation, editing etc. – Online Help • ROMC analyzing procedure – Identifying various activities in each decision stage For example, intelligence, design, choice, and implement. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-47 Supplement of Development Method – Identifying the supporting functions for each activity. – Building the key components of ROMC (identify the boundaries of the ROMC) • System design • Application Case (Liang, textbook- a case of buying a auto for personal) Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-48 Objective-Oriented Developing Methods For DSS • Evolution of Objective-Oriented Technology – Simula Language for replacing Simulation Language – Use of auditing techniques (1967) – Ada and Midula-2 for information hiding, (70s) – Smalltalk, Xerox PARC, 1980 – C++, AT and T, 1981 – Visual Basic, Power Builder, Delphi etc. since 1994 – Java, C#, etc. 2000s Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-49 Objective-Oriented Developing Methods For DSS • Main Concept of Objective-Oriented Technology – To analyze and resolve the problems, the initial views of the OOT is according to human being recognizing objective world and thinking ways – Objective world consists of many concrete things or events, abstract concept, planning etc. – Therefore, to study the problem of objective world, we can abstract them as objects. In OOT, the objects are basic elements. It is a core of analyzing problem. – What is Object? • Is of independent operations and behaviors program. • Object vs. procedure. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-50 Objective-Oriented Developing Methods For DSS • What is Object? – Actions executed by messages transferred between objects. – Each object possesses itself data structure and style for storing data – Each object possesses independent interface for accessing by other objects Object 1 Object 2 Object 4 Fall, 2004 User demand Object 3 Object 5 Object 6 All Right Reserved, Zhong YAO, School of E&M, 8-51 Objective-Oriented Developing Methods For DSS • Object Class – If a object having same structure, operation, and following same constraint rules – A class include: (1) name, (2) external interface, (3) internal presentation and (4) realization. – Characteristics: – Class Specification---interface – Realization--- each function how to do – Hierarchy (Lattice)---farther class, sub-class, sub-sub-class etc. » High level: generalization and commonality » Low level: specials and details Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-52 Objective-Oriented Developing Methods For DSS • Characteristics of Objective-Oriented Technology – Abstraction: Any thing can be presented, structured and unstructured. For example, table, chair, graph, sound, rule, concept etc. But similar things will be abstracted into same class for their similar operations, structures, and limits) – Encapsulation: structure and procedure encapsulated into one whole class. This can be used for data hiding. Data in a class only can be accessed by its (this class) internal functions or data. – Inheritance: subclass can inherit partial or whole properties of its mother class. The subclass can extend some special properties that the mother class don’t have. – Polymorphism: one function can be used by different arguments. Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-53 UML Technology for DSS • Resources: Universal Modeling Language – UML origins Booch Method91, 93; OMT-1 and –2 and OOSE (use case) – 1994, Rational Software Corporation, combining Booch, OMT and OOSE into UML. • Concept of UML – Core view: 4+1; • 4: Logical + Implementation + Process + Deployment • 1: Use Case • Figure presents with Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-54 UML Technology for DSS Programmers Software Management End Users Functionality Logical View Analysts/Testers Behavior Process View System Integrators Performance, Scalability, Throughput Fall, 2004 Implementation View Use Case View Deployment View System Engineering System Topology, Delivery Installation, Communication All Right Reserved, Zhong YAO, School of E&M, 8-55 UML Technology for DSS • 9 standard Diagrams – Static Views • • • • • Use Case Diagram Class Diagram Object Diagram Component Diagram Deployment Diagram – Dynamic Views • • • • Sequence Diagram Collaboration Diagram State Chart Activity diagram Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-56 UML Technology for DSS • UML module – UML is Specifying(规范化), Visualization(可视化), Documentation(文档化), and Constructing(结构化) software module language, its focus is on becoming a standard modeling language not on standard program language. – Common metamodel(元模型) and Notation – UML is best for: • • • • • • OOT development Component-based development Higher Visualization Requirement Components Reuse Assisting Evaluation, statistical operating flows Easy implementation Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-57 Developing DSS: Putting the System Together • Development tools and generators – Use of highly automated tools – Use of prefabricated pieces – Both increase the developer’s productivity • DSS Development System Includes – Request (query) handler – System analysis and design facility – Dialog management system – Report generator – Graphics generator Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-58 Developing DSS: Putting the System Together – Source code manager – Model base management system – Knowledge-base (management) system – Object-oriented tools – Standard statistical and management science tools – Special modeling tools – Programming languages – Document imaging tools • DSS Development System Components – Some may be integrated into a DSS generator – Others may be added as needed Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-59 Developing DSS: Putting the System Together – Components used to build a new DSS – Core of system includes development language or DSS generator – Construction by combining programming modules – Windows environment handles the interface Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-60 Hardware & Software Selection • Hardware Selection – PCs – Unix workstations – Network of Unix workstations – Web servers – Mainframes – Typically use existing hardware • Software Selection (Complex because) – At start, information requirements, etc. are unknown – Hundreds of packages – Software updated rapidly – Price changes Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-61 Hardware & Software Selection – – – – – – – Many people involved in decision Language capability problems Different tools might be needed Many criteria Technical, functional, end-user, and managerial issues Inaccurate published software reviews Might prefer a single vendor • Maybe use the AHP!!! Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-62 DSS Technology Levels and Tools • Three Levels of DSS Technology – Specific DSS [the application] – DSS integrated tools (generators) [Excel] – DSS primary tools [programming languages] • Plus – DSS integrated tools • Now all with Web hooks and easy GUI interfaces • Relationships among the three levels (Figure 6.5) Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-63 DSS Technology Levels and Tools Specific DSS DSS Generators (Spreadsheets, …) DSS Tools (Languages, …) Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-64 DSS Research Directions and The DSS of the Future • • • • • • • • • • More AI Faster, more powerful computers The Web - interfaces and DB and model access More and better GSS ERM/ERP Knowledge management Better GUI Better telecommunications More research on theories More research on methods Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-65 Putting Together an MSS • MSS implementation issues – Managers are more readily accepting MSS tools, techniques, and methods – AI tools and methods are being embedded in MSS and in enterprise applications – Web technologies continue to enable new developments in MSS/BI – GSS continue to proliferate through collaborative computing – Computer technology continues its fast-paced evolution – Capabilities are increasing and costs are decreasing – ERM/ERP systems, although extremely expensive, are proliferating Assignments (individual) • Interpreting following concepts: – – – – – – SDLC Prototyping DSS teams or End-user Development OODM UML technology ROMC Fall, 2004 All Right Reserved, Zhong YAO, School of E&M, 8-67