Presentation on theme: "Systems Development Environment"— Presentation transcript:
1Systems Development Environment Chapter 1 overviewIntroduce some topics we’ll cover in depth this termChapter 1Modern Systems Analysis & Design
2Chapter 1 Learning Objectives Define information systems analysis and designDescribe different types of information systemsDescribe Systems Development Life Cycle (SDLC)Explain Rapid Application Development (RAD), prototyping, Joint Application Development (JAD), and Computer Aided Software Engineering (CASE)Describe agile methodologies and eXtreme programmingExplain Object Oriented Analysis and Design and the Rational Unified Process (RUP)You should try to respond to each of these after reading the chapter.
3Today’s Agenda What is SA&D? What Does a Systems Analyst Do? SkillsParticipants in Systems DevelopmentWhat Goes WrongSystems Development MethodologyWhat is a MethodologyFor What Types of Systems is a Methodology Used?Traditional Systems Development Process (SDLC)Other MethodologiesThese topics are introduced/overviewed in the chapter, and provide a preview of what we will cover in more depth throughout the semester.
4Information Systems Analysis and Design The complex organizational process whereby computer-based information systems are developed and maintained.This course is about IS A&D:Complex and Organizational: Requires organizational analysis as much as knowing information technologyDeveloped and Maintained: Encompasses analysis, design, implementation, and follow-up (support and maintenance)--> Hence, a long, comprehensive processWhat is a system? … see cartoon
5What Does a Systems Analyst Do? Studies the problems, needs, and opportunities of an organizationDetermines how people, methods, “computer technology,” and organizational methods can work together to best improve the businessResponsible for developing efficient methods for capture, movement, processing, and storage of dataBridges technology and organizationCentral member of team (of various stakeholders)1 & 2: The role of systems analyst is unique: nobody else charged with doing and coordinating these things, hence a SA is an organizational role.Chooses best sources of data3: Makes sure data and information are useful and timely4: Skills include?:o communicationo technical and organizational knowledgeo facilitationo organizingo leadershipo Others?5: Team is a key concept, since nobody can do all of this by herself
6What Skills Does an Analyst Need? A Starter Set Analytical skillsSystems thinkingUnderstanding business/organization via general and firm-specific knowledgeIdentifying problems/opportunitiesAnalyzing and solving problems/opportunities
7Systems Thinking: A General Depiction of a System
9More Systems Thinking: O = f(I,P,S) Model of a System ProcessInputsOutputsStorageClassical processing model of a systemWhat does this cause analyst to concentrate on?> Where start? -- outputs> What next? -- inputs> Then processes> Finally -- storageBuild system in parts; focus on a subsystem; have multi-tier, client/server systemsA system is a bunch of interconnected versions of theseObscures structure of storage and timing of eventsIncorporate discussion of,1. Business Process Re-engineeringRadical change in processBreakthrough improvementsDisruptive technologiesDon’t just automate, obliterate!2. Data-Oriented Model of System (allows decoupling)Data capture and storageData transfer/movementData analysisData presentation
10More Systems Thinking: Design/Reengineering C1C2C3C4C5C6System simplification concepts:Which system is moreCohesiveDecoupledSystem A:C1C2C3C4C5C6System B:
11What Is Systems Thinking? Looking at a situation as a system of interacting componentsabstracting, decomposingIdentifying problem and designing selecting, implementing a solutionsimplifying, reengineering internals of (i.e., processes) and interactions between components – including interfaces, using cohesion, decoupling
12What Skills Does an Analyst Need? A More Complete Set Analytical skillsSystems thinkingUnderstanding business/organization via general and firm-specific knowledgeIdentifying problems/opportunitiesAnalyzing and solving problems/opportunitiesTechnical skillsStructuring requirementsDesigning databases, forms, reports, navigational interfacesManagement skillsResource managementProject managementRisk managementChange managementInterpersonal skillsCommunicatingWorking in teamsFacilitating groupsManaging expectations
13Who Are the Players in Systems Development? User(s)Business manager(s)Steering committeeApplication programmersSystem programmersDatabase, network, and other technology specialistsSecurity / auditing staffHuman factors expertsDocumentation specialistsSo, who is on the team?
14Analyst as a Member of System Development Team Comment on / think about:What differentiates high performing teams from less successful ones?Which words make sense and which don’t?What does selling mean?o meeting needso creating a marketo competitionoProactive or reactive?
15What Goes Wrong in General when Applying Skills in an Organization? 12. Too long11. Inability to change business processes10. Not allowing out-dated system components to be replaced9. Excessive spending on “maintenance”8. Functions delivered are out-of-date7. Inadequate technology impedes rapid response to market6. Users lose patience, but “home grown” solutions out-of-control5. Critical data locked inside inaccessible systems4. IS development priorities not consistent with business priorities3. IS staff does not understand business or its needs2. Management does not understand IS1. IS unplanned or misdirectedFrom Strategic IS Planning by Edwin E. Tozar, Butterworth-Heinemann, Boston, 1996, as quoted in Application Development Trends, May, 1996
16Systems Development Methodology A standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systemsHow does a systems analyst assure quality work: through following a methodology.Standard process: A base/starting point for practice for the whole life cycleWhy use a methodology?o Need for compatibility and consistency -- yet can be flexibleo Need for efficiencyo Proven methods -- and which can improveo Quality systemso Invest in trainingo Plug compatible analystsoCan’t be constraining or excuse not to evolve/improve, or … see cartoon
17Methodology, Technique, Tool Overall approach, usually within a framework or architectureTechniqueA way to do a specific task (e.g., interview, ERD, DFD, use-case diagram)Often graphicalToolAn aid which helps to complete a technique (e.g., Visio, PowerPoint, MS-Project) or manage data used across techniquesMethodologyo The standard process of many steps (e.g., Anderson’s Foundation, EDSs RISE, or IDEF)o Each step may use many techniques or toolso Set of approved techniques and guidelines on when to applyTechniqueo A way to do a specific task (e.g., ERD, DFD, use-case diagram)o Often graphicalo Follows rulesToolo An automated function which helps to (e.g., PowerPoint, Designer, MS-Project)> do a technique> manage data used across techniques
18CASE: Examples of Tools Case toolsSoftware tools that provide automated support for some portion of the systems development processExamples of tools/functions supportedDiagrammingGenerating screens and reportsGive concrete example early to help anchor remaining discussion
19What Is Analyzed Via Methodology? Data (input/capture and storage)Information (output/presentation)Data flow (movement/transfer)Processing logic (manipulation/analysis)Note: These can be viewed as related but separate systems!
20Types of Information Systems Transaction processingMISBusiness IntelligenceDSS (Individual & Group)ESS/EISExpert SystemNote: See Table 1-1 for differencescharacteristicsdevelopment orientation (e.g., process or data)A systems analyst applies these skills in different ways to focus on different issues for different types of ISs.Some SA&D concerns for each type of system:Transaction processing SA&D issues: processing volume, interconnections, detailed security and validationMIS SA&D issues: summarization, timing, integration/consolidation of data sourcesDSS SA&D issues: information access, types of analyses, user interfaceESS/EIS SA&D issues: summarization, user interface, information access, types of analysesExpert System SA&D issues: processing rules, decision logic, subtle processesScientific/Engineering SA&D issues: graphical format, data manipulationOffice Automation SA&D issues: work flow, efficiency, data access, personal and group productivity
21Traditional Systems Development Methodology: Systems Development Life Cycle (SDLC) Chapters 4-5The SDLC is a way to group techniques and tools for our discussion. It follows a sequential learning process, but as we will see, we may not perform the tasks in this order.What are the issues?Too long until doneRequirements/features creepTendency to be too fixed and sequential, without proper overlap and feedbackChapter 16Chapters 6-9Chapter 15Chapters 10-14
22SDLC Planning PhaseIdentify, analyze, prioritize, and arrange IS needs
23SDLC Analysis PhaseStudy and structure system requirements
24SDLC Design PhaseLogical design: functional features described independently of computer platformConvert recommended solution to system specificationsPhysical design: logical specifications transformed to technology-specific details
25SDLC Implementation Phase Code, test, install, and support the information system
26SDLC Maintenance Phase Systematically repair and improve the information system
27Figure 1-12: Rapid Application Development Some organizations try to speed up the life cycle by:o Combining initiation and planning and a preliminary analysis into an up-front phaseo Iterating between design and construction as rapidly as possibleo Combining some aspects of physical design with implementation into last pahseo Assuming maintenance is separate
28Iterative/Agile Development Repetition of refining stepsSuccessively closer to goalEvolutionary/adaptiveContinuous, self-adapting changesimpler state to more complex or better stateFocus on people not roles (people are talented and creative, not replaceable parts) – see Table 1-4What are the general features of RAD or iterative development methodologies?You are encouraged to use iterative development in your project, but this is difficult since we will be learning techniques and tools in sequence.Some people view iteration more as a spiral
29Spiral Development Design High-level Requirements Analysis Detailed Many variations have been developed (see Chapter 19)The loops are the inner-two steps in the previous RAD diagramNote the explicit customer review pointsAll methodologies include many of the same skills plus some unique onesMany methodologies in organizations are combinations of several pure methodologiesChapters 2 and 3 (next week) overview systems development and the skills required to be a player in a systems development projectHigh-levelRequirementsAnalysisDetailedRequirementsCustomer Review
30Think of this as having a third dimension with larger circle at top, like a beehive. This allows scalable development as new needs are identified, new units are brought on, learning occurs, more users are brought into the solution.It allows a simple, first solution to be implemented early, with progressively more functionality and hence users.Scalability is one of the most important goals of information systems development today.Deals directly with requirements/features creep
32Figure 1-11: Prototyping: A Methodology or Component of Other Methodologies Here is one specific RAD approach: prototypingAn increasingly popular process, and one usually included in a methodologyWhat issues do you anticipate?- When stop- Frustration- Change in whose in charge- Tools needed- When applyA form of iterative development
33How Do Methodologies Change? Some Trends Move from “art” -> “science” (tension)In-house developmentOutsourcingPurchased applicationsModularizedWeb orientation
34In Summary What is systems analysis and design? What does a systems analyst do?What is a systems development methodology?Why use one?SA&D: The complex organizational process whereby computer-based information systems are developed and maintained.Systems Analyst: Determines how people, methods, “computer technology,” and organizational methods can work together to best improve the businessMethodology: A standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems- an approach to problem solving relative to information needs in an organizationWhy: Address the complex organizational issues involved in solving such problems- e.g., agreeing on the problem to be solved, the steps to be taken (scope, timing, resources), the solution and its implementation, and the ongoing operation and maintenance of the system