Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Personal knowledge base wikipedia , lookup
History of artificial intelligence wikipedia , lookup
Collaborative information seeking wikipedia , lookup
Wizard of Oz experiment wikipedia , lookup
Human–computer interaction wikipedia , lookup
Expert system wikipedia , lookup
CHAPTER 11 Systems Development and Project Managmenet Introduction to the Systems Approach It’s methodology for problem solving The more time spent planning, the better the outcome Note the process is typically iterative Systems approach masters Ed Yourdon Grady Booch The GOF Gamma, Helm, Johnson, Vlissides The Systems Approach (Steps) Problem identification (planning) Systems analysis Systems design Systems development Systems testing Systems deployment (implementation) Systems maintenance The Systems Approach (Problem Identification) An existing system does not meet a need or expectation Conduct feasibility studies If a project seems feasible, assemble a project management plan and team The Systems Approach (Feasibility Domains) Organizational Technical Does the hardware / software exist Economic Do we have the human resources Do we have the organizational resources Cost / benefit analysis Accounting ROI Present value analysis Operational The Systems Approach (Systems Analysis) Analyze information needs of constituents Develop a system’s functional requirements Analysis tools Brainstorming Lateral thinking The Systems Approach (Systems Analysis) Develop a list of functional requirements User interface requirements Processing requirements Storage Controls Input validation Event notification Human controls The Systems Approach (Systems Design) We need to completely understand the existing system If it’s not broke, don’t fix it Understand how users use the existing system Interviews Know what users want out of the new system At times, users don’t know what they want The Systems Approach (Systems Design) Logical design Design how the system will work Design workflow and information flow Design the user interface Screen diagrams Navigation diagrams Appropriate use of color Data design Entity relationship diagrams The Systems Approach (Systems Design) Process design Tools Flowcharts IP charts UML use-case diagrams UML activity diagrams UML Statechart diagrams The Systems Approach (Systems Design) Physical design Select physical hardware and software Note that there may be site preparation requirements The Systems Approach (Development) Hardware and software acquisition Decisions Use RFPs and RFQs to evaluate alternatives Hardware and software benchmarking Make vs. buy Lease vs. buy Internal implementation or outsourcing Documentation For users For IS staff Preserve organizational memory End User Development Positives Users get what they want Negatives Users don’t know what they want Users may have a narrow minded vision of the system They may not see how a system contributes to the organizational mission Loss of centralized control Users are not experienced in system design methodologies Testing My rule is, you cannot ever test too much or be too thorough http://video.google.com/videoplay? docid=2889527841583480458&q=p wnz The Systems Approach (Deployment) User training Data conversion Systems testing Parallel (run 2 systems at once) Pilot study (deploy in limited sited) Phased (deploy functionality in stages) Plunge (only fools rush in) Systems deployment The Systems Approach (Maintenance) Perform a postimplementation audit to determine whether goals were met Revise system as necessary Development Methodologies (1) Waterfall The systems lifecycle operates as a sequence of states Sequential development Development Methodologies (2) Agile processes and iterative development Break a large project into several small projects Deliver results in small stages Development Methodologies (3) Extreme programming It’s an agile methodology at its best Relies on close communication between users and developers Relies on experienced developers Uses small incremental deliverables Development Methodologies (4) Scrum delivers small software pieces every 30 days The term derives from the game of rugby The development effort is monitored and controlled daily Some organizations use a combination of these methodologies Waterfall (Illustration) Scrum (Illustration) Successful Software Development Metrics Control costs – Don’t keep throwing money at a bad project Avoid scope creep and feature creep Test and deliver Involve all constituents Project Management (Introduction) We spend about $1 trillion on IT projects 3 out of 10 project fail One in four does not following business rules and requirements Why Projects Fail Roles in Project Management Choosing Strategic Projects Projects should match organizational goals Projects should be prioritized Perform financial analysis to determine the best projects Project Planning Create a project charter which clearly lists Scope Objectives Constraints Assumptions Create a project plan and timeline Pert and Gantt charts Project Outsourcing We outsource to Tap into outside expertise Focus on core business goals rather than develop extensive IT infrastructure Reduce head count and expenses Minimize technology investment Reduce cost Types of Outsoucring Onshore Nearshore Offshore Artificial Intelligence (Introduction) Designed to leverage human capabilities rather than replace them Goals Develop machines that think We are trying to mimic human intelligence There philosophical and moral debates about AI Artificial Intelligence (The Turing Test) A human interviewer and computer interact The test is passed if: The computer did not know if it was interacting with a person The person did not know if it was interacting with a computer No machine has ever passed the Turing test AI (Case Studies) Authorizing financial transactions Configure hardware and software AMEX fraud detection Dell and others Problem diagnosis Applications of AI Decision management Diagnostic Design Product or process selection Process control Domains of AI Expert systems and knowledgebased systems Neural networks Fuzzy logic Soft computing Neural networks Generic Algorithms Robotics Natural Interfaces Expert Systems The machine is acts as the expert They are knowledge-based information systems Types of knowledge bases Case based Frame based Object bases Rule based Pharmacologic interaction Medical diagnosis AI (Neural Networks) Try to mimic the operation of the human brain Software that learns Handwriting recognition Medical diagnosis Pattern recognition Sports betting systems AI (Fuzzy Logic) Deals with uncertainty Near, far, similar to Example Auto-focus cameras AI (Genetic Algorithms and Intelligent agents) Genetic algorithms Conceptually similar to evolution and genetic mutation Intelligent agents Outlook detects spam and deletes it The Roomba vacuum (http://store.irobot.com/corp/index.jsp) AI (Intelligent Agents) Software surrogate for an end user Uses built in rules to make decisions for an end user Adaptive testing Outlook to delete junk e-mail User interface agents Help users run software Data Mining Use data mining to sift through information to uncover hidden patterns More later Business Processes A standardized set of activities that accomplish a specific task Business processes are typically connected together A process should be stable (have few, if any, exceptions) Business Process (Order to Cash) Issue a sales quotation (sales) Receive a purchase order (sales) Issue a sales order (sales) Ship goods (warehouse) Issue an invoice (accounting) Receive payment (accounting Optimizing Business Processes Improving a business process can Speed the checkout process (automated check stands) Reduce cost (online banking and other transactions) Production and manufacturing optimization Business processes exist in every functional area of a business Categorizing Business Processes Customer facing processes Seen by the customer Your Web site Business facing processes Seen by the business Human resource systems Enhancing Business Processes Business Process Improvement Business Process Reengineering Business Process Modeling A graphical description of a business process Business Process Improvement Make incremental improvements on existing business processes Take advantage of new technologies Simple automation tasks Process improvement can be continuous or apply to a discrete processes Business Process Reengineering Redesign workflow and existing business processes Reengineering is a sliding scale From a simple change to a process To a complete overhaul of the way a company does business This can carry a high risk of failure Deciding What to Reengineer Analyze the costs and benefits of the project using financial and accounting methods Perform risk assessment Modeling (General) A model is a simplified, often pictorial, representation of reality We can model many things Architectural plans and drawing 3-dimensional electronic models Models of business processes Business Process Modeling Models can be used reverse engineer as system (as-is process) Models can be used to design new processes and workflows (to-be process) Several diagramming tools are used to model systems Flowcharts / UML diagrams / Use case diagrams / etc… Flowchart of a Business Process Business Process Management We take a proactive and enterprisewide approach to Understanding processes Optimizing them Integrating processes across functional business units Decision making Introduction to Decision Making How do we make decisions? What methods do we use as a basis for the decisions we make? How do we assess whether a decision was good or bad? Could the decision have been improved? Today, decisions are made using massive amounts of data and quantitative (statistical) analysis Fact-based decision making Decision-making Steps Problem identification Gather facts to Fully understand the problem Who will fix it What recourses are needed Devise possible solutions Evaluate and select Implement Types of Decisions Operational Managerial Structured decisions Software systems are making more and more of these Sem-istructured decisions Strategic Unstructured decisions Measuring IT Performance (1) IT capital expenditures can be huge Software / hardware / training 112 Million for Hershey’s ERP Expenditures need to be measured to determine whether they are worthwhile We measure efficiency and effectiveness The two are interrelated Measuring IT Performance (2) Efficiency metrics (The technology itself) System uptime (availability) Response time (time to render a Web page) Transaction processing performance (database transactions per second) Information accuracy Measuring IT Performance (3) Effectiveness metrics (How well the technology works) Use accounting and financial methods to assess Customer satisfaction Sales increases Cost reductions Cost/benefit analysis, NPV, ROI, cash flow Usability How many clicks to accomplish a task Measuring Success Efficiency and effectiveness metrics Critical success factors Key performance indicators These should be quantitative Don’t create to many CSFs How do we measure those CSFs WHAT YOU MEASURE IS WHAT YOU GET IT Systems and Decision Making Transaction processing systems Management information systems Decision support systems Executive information systems Supply chain systems