OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 3 C H A P T E R INFORMATION SYSTEM DEVELOPMENT
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Chapter Three Information System Development Describe the motivation for a system development process in terms of the Capability Maturity Model (CMM) for quality management. Differentiate between the system life cycle and a system development methodology. Describe eight basic principles of system development. Define problems, opportunities, and directives—the triggers for systems development projects. Describe the PIECES framework for categorizing problems, opportunities, and directives. Describe the traditional, basic phases of system development. For each phase, describe its purpose, inputs, and outputs. Describe cross life cycle activities that overlap all system development phases. Describe four basic alternative “routes” through the basic phases of system development. Describe how routes may be combined or customized for different projects. Differentiate between computer-aided systems engineering (CASE), application development environments (ADEs), and process and project management technology as automated tools for system development.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Chapter Map
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Process of System Development A system development process is a set of activities, methods, best practices, deliverables, and automated tools that stakeholders (Chapter 1) use to develop and maintain information systems and software.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 The CMM Process Management Model The Capability Maturity Model (CMM) is a framework to assess the maturity level of an organization’s information system development and management processes and products. It consists of five levels of maturity as measured by a set of guidelines called the key process areas. –Level 1—Initial: System development projects follow no prescribed process. –Level 2—Repeatable: Project management processes and practices are established to track project costs, schedules, and functionality. –Level 3—Defined: A standard system development process (sometimes called a “methodology”) is purchased or developed, and integrated throughout the information systems/services unit of the organization. –Level 4—Managed: Measurable goals for quality and productivity are established. –Level 5—Optimizing: The standardized system development process is continuously monitored and improved based on measures and data analysis established in Level 4.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Capability Maturity Model (CMM) Level 5 OPTIMIZED Level 4 MANAGED Level 3 DEFINED Level 2 REPEATABLE RISK COMPETITIVENESS Level 1 INITIAL
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Life Cycle versus Methodology A system life cycle divides the life of an information system into two stages, systems development and systems operation and support. A system development methodology is a very formal and precise system development process that defines (as in CMM Level 3) a set of activities, methods, best practices, deliverables, and automated tools that system developers and project managers are to use to develop and maintain information systems and software.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 A System Life Cycle Conversion Obsolescence Lifetime of a System LIFE CYCLE STAGE System Development using System Development Methodology LIFE CYCLE STAGE System Operation and Support using Information Technology
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Principles of System Development Get the owners and users involved. Use a problem-solving approach. Establish phases and activities. Establish standards. Justify systems as capital investments. Don’t be afraid to cancel or revise scope. Divide and conquer. Design systems for growth and change.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Phases of a Representative Methodology
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Overlap of System Development Phases ID Project management Preliminary investigation Problem analysis Requirements analysis Decision analysis Design Construction Implementation Operations and support MayJunJulAugSepOctNovDecJan Task Name
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Project Identification and Initiation Problems are undesirable situations that prevent the organization from fully achieving its purpose, goals, and/or objectives. Opportunities are chances to improve the organization even in the absence of specific problems. Directives are new requirements that are imposed by management, government, or some external influence.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 The PIECES Problem-Solving Framework P the need to improve performance I the need to improve information (and data) E the need to improve economics, control costs, or increase profits C the need to improve control or security E the need to improve efficiency of people and processes S the need to improve service to customers, suppliers, partners, employees, etc.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 FAST System Development Phases
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Cross Life Cycle Activities Cross life cycle activities are activities that overlap many or all phases of the methodology. –Fact-finding –Documentation and presentation –Feasibility analysis –Process and project management
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 A repository is a database where system developers store all documentation, knowledge, and products for one or more information systems or projects. Sharing Knowledge via a Repository
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Alternative Routes through a Methodology Model-Driven Development (MDD) Rapid Application Development (RAD) Commercial Off-the-Shelf Software (COTS) Maintenance and Reengineering or hybrids of the above
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Model-Driven Development Route Modeling is the act of drawing one or more graphical representations (or pictures) of a system. Modeling is a communication technique based upon the old saying, “a picture is worth a thousand words.” Model-driven development techniques emphasize the drawing of models to help visualize and analyze problems, define business requirements, and design information systems. –Structured systems analysis and design — process-centered –Information engineering (IE) — data-centered –Object-oriented analysis and design (OOAD) — object-centered (integration of data and process concerns)
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Model-Driven Development (MDD) Route
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Rapid Application Development Route Rapid application development (RAD) techniques emphasize extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the system development process. RAD is based on building prototypes that evolve into finished systems (often using time boxing) –A prototype is a smaller-scale, representative or working model of the users’ requirements or a proposed design for an information system. –A time box is a nonextendable period of time, usually days, by which a candidate system must be placed into operation.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Rapid Application Development (RAD) Route
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Commercial Off-the-Shelf Software Route Commercial off-the-shelf (COTS) software is a software package or solution that is purchased to support one or more business functions and information systems.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Commercial Off-the-Shelf (COTS) Software Route
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Hybrid: Rapid Architected Development
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Hybrid: Multiple Implementation
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Hybrid: Staged Implementation
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Maintenance and Reengineering Route
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Automated Tools and Technology Computer-aided systems engineering (CASE) Application development environments (ADEs) Process and project managers
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 CASE Tools Computer-aided systems engineering (CASE) tools are software programs that automate or support the drawing and analysis of system models and provide for the translation of system models into application programs. –A CASE repository is a system developers’ database. It is a place where developers can store system models, detailed descriptions and specifications, and other products of system development. Synonyms include dictionary and encyclopedia. –Forward engineering requires the systems analyst to draw system models, either from scratch or from templates. The resulting models are subsequently transformed into program code. –Reverse engineering allows a CASE tool to read existing program code and transform that code into a representative system model that can be edited and refined by the systems analyst.
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 CASE Architecture
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 ADE Tools Application development environments (ADEs) are integrated software development tools that provide all the facilities necessary to develop new application software with maximum speed and quality. A common synonym is integrated development environment (IDE) –ADE facilities may include: Programming languages or interpreters Interface construction tools Middleware Testing tools Version control tools Help authoring tools Repository links
OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN 河北农业大学面向对象系统分析与设计课程组版权所有 Process and Project Managers A process manager is an automated tool that helps to document and manage a methodology and routes, its deliverables, and quality management standards. A project manager is an automated tool to help plan system development activities (preferably using the approved methodology), estimate and assign resources (including people and costs), schedule activities and resources, monitor progress against schedule and budget, control and modify schedule and resources, and report project progress.