System Analysis and Project MANAGEMENT CLASS
Measures of Project Success
- "Meets quality specifications" - "On time" - "Within budget" - Minimal impact on ongoing operations - Quality + Cost + Time = Triple Constraint
Types of TPS
- Batch processingReal - Time processing
Can You think of any Transaction processing systems
- Payroll - Order Processing - Accounts Payable (invoices) - When goods and services are exchanged for some form of payment...
Why Projects Fail
-No support or commitment from leadership - Scope Creep - Premature commitment to a fixed budget and schedule - Poor estimating techniques - Inadequate people management skills -Failure to adapt to business change -Insufficient resources -Failure to "manage to the plan"
What are the types of Information Systems
1. A transaction processing system 2. A management information system (MIS) 3. A decision support system 4. An expert system
is an information system that either helps to identify decision making opportunities or provides information to help make decisions.
A decision support system
is a textual description embodying sequence of events with regards to the use case and is part of the use case specification.
A flow of events or pathway
is an information system that provides for management-oriented reporting based on transaction processing and operations of the organization.
A management information system (MIS)
includes the responsibilities of both the computer programmer and the systems analyst.
A programmer/analyst (or analyst/programmer)
is an information system that captures and processes data about business transactions.
A transaction processing system
Can you think of examples of Expert Systems?
AI (diagnose automobile problems) AI (diagnose medical problems) Voice recognition Chat Bots that act like real people
advantage and disadvantage of waterfall methodology
Advantage requirements are identified long before programming begins, and requirement changes are limited as the project progresses Disadvantage it does not embrace the inevitable changes and revisions that become necessary with most projects If the project team misses an important requirement, expensive post-implementation programming may be needed
Agile development is a group of programming-centric methodologies that focus on streamlining the SDLC. Much of the modeling and documentation overhead is eliminated; instead, face-to-face communication is preferred. A project emphasizes simple, iterative application development in which every iteration is a complete software project, including planning, requirements analysis, design, coding, testing, and documentation There are several popular approaches to agile development, including extreme programming (XP) and Scrum
Agile
is an information system that captures the expertise of workers and then simulates that expertise to the benefit of non-experts.
An expert system
System Development Methodologies
Architected Rapid Application Development (Architected RAD) Dynamic Systems Development Methodology (DSDM) Joint Application Development (JAD) Information Engineering (IE) Rapid Application Development (RAD) Rational Unified Process (RUP) Structured Analysis and Design eXtreme Programming (XP)
a relationship between an actor and a use case in which an interaction occurs between them. Association modeled as a solid line connecting the actor and the use case. Association with an arrowhead touching the use case indicates that the use case was initiated by the actor. (1) Association lacking arrowhead indicates a receiver actor. (2) Associations may be bidirectional or unidirectional.
Association
Each step must be completed or it will be undone.
Atomicity
Properties of TPS
Atomicity Consistency Isolation Durability
Delayed processing that happens at a time different than that of collection/storage of data. (Think monthly subscription services)
Batch processingReal
Tasks that respond to business events (e.g., an order). Business processes are the work, procedures, and rules required to complete the business tasks, independent of any information technology used to automate or support them.
Business Processes
Kanban board
Can be physical or digital 3 basic steps -To Do -In Progress -Done
Decision Analysis Phase
Candidate solutions evaluated in terms of: Technical feasibility - Is the solution technically practical? Does our staff have the technical expertise to design and build this solution? Operational feasibility - Will the solution fulfill the users' requirements? To what degree? How will the solution change the users' work environment? How do users feel about such a solution? Economic feasibility - Is the solution cost-effective? Schedule feasibility - Can the solution be designed and implemented within an acceptable time? Risk feasibility - What is the probability of a successful implementation using the technology and approach?
Internal System Users
Clerical and service workers Technical and professional staff Supervisors, middle managers, and executive managers
Arguments Against Waterfall
Clients may not know exactly what their requirements are before they see working software and so change their requirements, leading to redesign, redevelopment, and retesting, and increased costs. Designers may not be aware of future difficulties when designing a new software product or feature, in which case it is better to revise the design than persist in a design that does not account for any newly discovered constraints, requirements, or problems. In response to the perceived problems with the pure waterfall model, modified waterfall models were introduced, such as "Sashimi (Waterfall with Overlapping Phases), Waterfall with Subprojects, and Waterfall with Risk Reduction". Some organizations, such as the United States Department of Defense, now have a stated preference against waterfall-type methodologies, which encourages evolutionary acquisition and Iterative and Incremental Development While advocates of agile software development argue the waterfall model is an ineffective process for developing software, some sceptics suggest that the waterfall model is a false argument used purely to market alternative development methodologies.
Can you think of examples of Management Information Systems?
Company Reporting Performance reports Top management can monitor company performance. Stock reporting Inventory reporting
data is agreed upon, and is accounted for.
Consistency
Construction and Testing Phase
Construct and test system components Software Purchased Custom-built Databases User and System Interfaces Hardware Networks
The continuous monitoring of business processes to effect small but measurable improvements in cost reduction and value added.
Continuous process improvement (CPI)
The result obtained by striking a balance between the lifetime costs of developing, maintaining, and operating an information system and the benefits derived from that system. Cost-effectiveness is measured by a cost-benefit analysis.
Cost-effectiveness
a strategy in which feasibility and risks are continuously reevaluated throughout a project. Project budgets and deadlines are adjusted accordingly.
Creeping commitment
External System Users
Customers Suppliers Partners Employees Remote users - users who are not physically located on the premises but who still requires access to information systems. Mobile users - users whose location is constantly changing but who requires access to information systems from any location
Parameters Daily, ~15 minutes, Stand-up Anyone late pays a $1 fee Not for problem solving Whole world is invited Only team members, Scrum Master, product owner, can talk Helps avoid other unnecessary meetings Three questions answered by each team member: What did you do yesterday? What will you do today? What obstacles are in your way?
Daily Sprint Meeting
Knowledge Asset Management
Data - raw facts about people, places, events, and things that are of importance in an organization. Information - data that has been processed or reorganized into a more meaningful form for someone. Knowledge - data and information that is further refined based on the facts, truths, beliefs, judgments, experiences, and expertise of the recipient. Knowledge Asset Management Recognizes that data, information, and knowledge are critical business resources Asks: "How can the organization manage and share knowledge for competitive advantage?" Strives to integrate the data and information that can create and preserve knowledge
A technique for defining business requirements for a database. Eventually implemented as a database
Data Modeling
Installation and Delivery Phase
Deliver the system into operation (production) Deliver User training Deliver completed documentation Convert existing data
Defines dependencies between use cases. Helps define the sequence in which use cases need to be developed. A good example is the use case "Make a Withdrawal" cannot be performed until the use case "Make a Deposit" has been executed. Depicted as an arrowhead line beginning at one use case and pointing to the use case it is dependent on Should also be labeled <<depends on>>
Depends On
the data has to be available for an extended time.
Durability
a software application that fully integrates information systems that span most or all of the basic, core business functions.
Enterprise Resource Planning (ERP)
a use case may contain complex functionality consisting of several steps making the use-case logic difficult to understand. A use case may have many extends relationships, but an extension use case can be invoked only by the use case its extending. The extends relationship is represented as an arrowhead line beginning at the extension use case and pointing to the use case its extending. The line should be labeled with <<extends>>
Extends
Project Phases
FAST - (Framework for the Application of Systems Thinking ) a hypothetical methodology used throughout this book to demonstrate a representative systems development process. Each methodology will use different project phases.
Primary business actor The stakeholder that primarily benefits from the execution of the use case. e.g. the employee receiving the paycheck Primary system actor The stakeholder that directly interfaces with the system to initiate or trigger the business or system event. e.g. the bank teller entering deposit information External server actor The stakeholder that responds to a request from the use case. e.g. the credit bureau authorizing a credit card charge External receiver actor The stakeholder that is not the primary actor but receives something of value from the use case. e.g. the warehouse receiving a packing slip
Four Types of Actors
Principles of System Development
Get the system users involved. Use a problem-solving approach. Establish phases and activities. Document through development. Establish standards. Manage the process and projects Justify systems as capital investments. Don't be afraid to cancel or revise scope. Divide and conquer. Design systems for growth and change.
The process of Requirements Use-Case Modeling
Identify Business Actors Identify Business Requirements Use Cases Construct Use-Case Model diagram Document business requirements use-case narratives.
Used when two or more actors share common behavior - they can initiate the same use case. In the case below, the Patron and the Visitor is a Customer which has Search library inventory functionality. The extracted actor is known as an Abstract Actor.
Inheritance
Classification of Decision Support Systems
Input: (Numbers, or characteristics) User Knowledge: Sometimes require manual analysis. Outputs: Transform the data Decision: Results generated based on all criteria.
10 Categories of Expert Systems
Interpretation: Inferring situations Prediction: Infer likely consequences Diagnosis: Infer system malfunctions Design: Configuring objects under constraints Planning: Designing actions Monitoring: Compare observations to plan vulnerabilities Debugging: Incremental solutions for complex problems. Repair: Execute a plan to administer a prescribed remedy. Instruction: Diagnosing, assessing, and repairing student behavior. Control: Interpret, predict, repair, and monitor system behaviors.
Treat each transaction separately and keeps data from each transaction separate.
Isolation
Scrum Vs. Waterfall
It is the opposite of the waterfall approach Instead of doing all of one thing at a time in a sequential manner (waterfall approach), Scrum teams do a little of everything all the time
A common type of RAD Iterative development breaks the overall project into a series of versions that are developed sequentially. This version is developed quickly by a mini-waterfall process, and once implemented, the users can provide valuable feedback to be incorporated into the next version of the system
Iterative Development
Logical Design Phase
Logical design - the translation of business user requirements into a system model that depicts only the business requirements and not any possible technical design or implementation of those requirements. Common synonyms include conceptual design and essential design. System model - a picture of a system that represents reality or a desired reality. System models facilitate improved communication between system users, system analysts, system designers, and system builders. Analysis paralysis - a satirical term coined to describe a common project condition in which excessive system modeling dramatically slows progress toward implementation of the intended system solution.
Logical Data Type
NUMBER - Any number, real, or integer TEXT - A string of characters LARGETEXT/MEMO - Indeterminate string size DATE - Date Object TIME - Time Object BOOLEAN - TRUE/FALSE - YES/NO IMAGE - Any picture or image VALUE SET - A finite set of values. FR - freshman, SO = sophomore, etc
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.
Categories of Decision Support Systems
Personal Support Group Support Organizational Support
Categories of Entities
Persons Places Objects Events Concepts Note: Remember the differences between an entity and its instances. STUDENT vs Amber, Daniel, or Jake.
Physical Design & Integration Phase
Physical design - the translation of business user requirements into a system model that depicts a technical implementation of the users' business requirements. Common synonyms include technical design or implementation model. Two extreme philosophies of physical design Design by specification - physical system models and detailed specification are produced as a series of written (or computer-generated) blueprints for construction. Design by prototyping - Incomplete but functioning applications or subsystems (called prototypes) are constructed and refined based on feedback from users and other designers.
Where Do Systems Development Projects Come From?
Planned Projects An information systems strategy plan has examined the business as a whole to identify those system development projects that will return the greatest strategic (long-term) value to the business A business process redesign has thoroughly analyzed a series of business processes to eliminate redundancy and bureaucracy and to improve efficiency and value added. Not it is time to redesign the supporting information system for those redesigned business processes. Unplanned projects Triggered by a specific problem, opportunity, or directive that occurs in the course of doing business. Steering committee - an administrative body of system owners and information technology executives that prioritizes and approves candidate system development projects. Backlog - a repository of project proposals that cannot be funded or staffed because they are a lower priority than those that have been approved for system development.
How to user interviews to gather requirements
Preparation Problem Identification The user environment Summary of the problem Identify potential solutions Identify non-functional requirements Conclusion
Scope Definition Phase
Problem statement - a statement and categorization of problems, opportunities, and directives; may also include constraints and an initial vision for the solution. Synonyms include preliminary study and feasibility assessment. Constraint - any factor, limitation, or restraint that may limit a solution or the problem-solving process. Scope creep - a common phenomenon wherein the requirements and expectations of a project increase, often without regard to the impact on budget and schedule. Statement of work - a contract with management and the user community to develop or enhance an information system; defines vision, scope, constraints, high-level user requirements, schedule, and budget. Synonyms include project charter, project plan, and service-level agreement.
an ongoing activity that documents, manages, oversees the use of, and improves an organization's chosen methodology (the "process") for system development. Process management is concerned with phases, activities, deliverables, and quality standards should be consistently applied to all projects.
Process management
PERT chart - a graphical network model used to depict the interdependencies between a project's tasks. Gantt chart - a bar chart used to depict project tasks against a calendar.
Project Management Tools & Techniques
is the process of scoping, planning, staffing, organizing, directing, and controlling a project to develop an information system at a minimum cost, within a specified time frame, and with acceptable quality.
Project management
System prototyping performs the analysis, design, and implementation phases concurrently in order to quickly develop a simplified version of the proposed system and give it to the users for evaluation and feedback The system prototype is a "quick and dirty" version of the system and provides minimal features. Throwaway prototyping includes the development of prototypes, but uses the prototypes primarily to explore design alternatives rather than as the actual new system (as in system prototyping). Throwaway prototyping has a fairly thorough analysis phase that is used to gather requirements and to develop ideas for the system concept.
Prototyping
Benefits of Use-Case Modeling
Provides tool for capturing functional requirements. Assists in decomposing system into manageable pieces. Provides means of communicating with users/stakeholders concerning system functionality in language they understand. Provides means of identifying, assigning, tracking, controlling, and management system development activities. Provides aid in estimating project scope, effort, and schedule. Aids in defining test plans and test cases. Provides baseline for user documentation. Provides tool for requirements traceability. Provides starting point for identification of data objects or entities. Provides specifications for designing user and system interfaces. Provides means of defining database access requirements. Provides framework for driving the system development project.
Rapid application development (RAD) is a collection of methodologies that emerged in response to the weaknesses of waterfall development RAD incorporates special techniques and computer tools to speed up the analysis, design, and implementation phases in order to get some portion of the system developed quickly and into the hands of the users for evaluation and feedback
RAD
Can you think of examples of Decision Support Systems?
Resource Allocation Budgeting Revenue projections A/B Analysis Medical analysis Loan applications/credit reports Equipment Testing
the process of identifying, evaluating, and controlling what might go wrong in a project before it becomes a threat to the successful completion of the project or implementation of the information system. Risk management is drive by risk analysis or assessment.
Risk management
A subset of Agile Lightweight and is the most widely used one. Requirements are gathered into the Product Backlog. Uses "User Story" to describe desired features. Usually written by Product Owner Some use "Use Case" instead of "User Story"
SCRUM
An agile process Focus on highest business value in the shortest time All major companies (Google, Microsoft, etc.) use it Can manage and control software and product development Embraces adaptive, empirical systems development Is not restricted to software development projects Self-organizing teams Product progresses in a series of month-long "sprints"
Scrum
- A prioritized list - Includes short descriptions of features - It is allowed to grow and change after sprints - Common types: bugs and features Who owns the backlog?
Scrum Backlog
Roles Product owner Scrum Master Team Ceremonies Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artifacts Product backlog Sprint backlog Burndown charts
Scrum Framework
SCRUM Roles
ScrumMaster - Keeper of the process. - Organize meetings - Remove obstacles Product Owner -Keeper of the requirements -Single source of truth Team Member -Developers and Testers
Interviewing Skills
Smile Pay attention Summarize key points Be honest Be succinct Watch your and theirs body language Respect time
Time boxed phase Defined duration (usually in weeks) Sprint works off of a running list of deliverables Deliverables are prioritized by business value When work is not completed in a sprint, future sprint planning and priorities are reworked. Each sprint ends with a sprint review and retrospective.
Sprints
a formal strategic plan (3-5 years) for an entire business that defines its mission, vision, goals, strategies, benchmarks, and measures of progress and achievement. Usually, the strategic enterprise plan is complemented by strategic business unit plans that define how each business unit will contribute to the enterprise plan. The information systems plan is one of those unit-level plans.
Strategic enterprise plan
- a formal strategic plan (3-5 years) for building and improving an information technology infrastructure and the information system applications that use that infrastructure.
Strategic information systems plan
Daily Scrum Meeting
Strictly boxed to 15 minutes What did you do yesterday? What will you do today? Is there any road blocks in your way? Team is able to understand where everyone is. Problems are taken outside of the meeting to be solved. ScrumMaster is responsible for facilitating this.
Use a Problem-Solving ApproachClassical Problem-solving approach
Study and understand the problem, its context, and its impact. Define the requirements that must be met by any solution. Identify candidate solutions that fulfill the requirements, and select the "best" solution. Design and/or implement the chosen solution. Observe and evaluate the solution's impact, and refine the solution accordingly.
is a group of interrelated components that function together to achieve a desired result.
System
a technical specialist who constructs information systems and components based on the design specifications generated by the system designers.
System builders
a technical specialist who translates system users' business requirements and constraints into technical solution. She or he designs the computer databases, inputs, outputs, screens, networks, and software that will meet the system users' requirements.
System designer
an information system's sponsor and executive advocate, usually responsible for funding the project of developing, operating, and maintaining the information system.
System owners
System Operation & Maintenance
System support - the ongoing technical support for users of a system, as well as the maintenance required to deal with any errors, omissions, or new requirements that may arise.
a "customer" who will use or is affected by an information system on a regular basis - capturing, validating, entering, responding to, storing, and exchanging data and information.
System users
the process of building a unified information system out of diverse components of purchases software, custom-built software, hardware, and networking.
Systems Integration
a specialist who studies the problems and needs of an organization to determine how people, data, processes, and information technology can best accomplish improvements for the business.
Systems analyst
Agile Advantages
The customer/system owner is given frequent and early opportunities to see the work being delivered. Decisions and changes can be made throughout the development project. Customer gains a strong sense of ownership by working so closely with the project team. Time to market can be shorter for a subset of the system. Development is user focused, due to frequent interactions with users and the customer.
Requirements Elicitation
The interview is the most commonly used requirements elicitation technique There are five basic steps to the interview process: selecting interviewees designing interview questions preparing for the interview conducting the interview post interview follow-up
Attributes
The specific pieces of data we need to store about each instance of a given entity. Compound Attributes - Logically grouped attributes - for example NAME could be (First, Last, Middle) An attributes data type constrains its domain. The domain describes what values the attribute can legitimately take on.
Agile Disadvantage
Time commitment from the customer/system owner is higher, they need the time and the interest to make this work. Team members need to be fully dedicated to development projects. Easy for delivery items to not be completed in the timeframe. Unknowns and reprioritizing can change delivery schedule frequently. Works best for teams that are located in a single area. Code quality/refactoring can become an issue since the full scope may not be known. Very easy for the price and timeline to continue way past the original estimate.
Immediately process the data. (Think purchase from Amazon or gas station)
Time processing
Arguments For Waterfall
Time spent early in the software production cycle can reduce costs at later stages. For example, a problem found in the early stages (such as requirements specification) is cheaper to fix than the same bug found later on in the process (some say by a factor of 50 to 200). In common practice, waterfall methodologies result in a project schedule with 20-40% of the time invested for the first two phases, 30-40% of the time to coding, and the rest dedicated to testing and implementation. The actual project organization needs to be highly structured. Most medium and large projects will include a detailed set of procedures and controls, which regulate every process on the project. Emphasis on documentation (such as requirements documents and design documents) as well as source code. The waterfall model provides a structured approach; the model itself progresses linearly through discrete, easily understandable and explainable phases and thus is easy to understand; it also provides easily identifiable milestones in the development process. It is perhaps for this reason that the waterfall model is used as a beginning example of a development model in many software engineering texts and courses. It is argued that the waterfall model can be suited to projects where requirements and scope are fixed, the product itself is firm and stable, and the technology is clearly understood.
a comprehensive approach to facilitating quality improvements and management within a business.
Total quality management (TQM)
the event that causes the use case to begin. A trigger can be an external trigger, such as a customer placing an order, the fire alarm ringing.
Trigger
generally a non-technical specialist that focuses on user experience and screen layouts..
UI/UX designer
a behaviorally related sequence of steps (scenario), both automated and manual, for the purpose of completing a single business task. Description of system functions from the perspective of external users in terminology they understand.
Use case
- a diagram that depicts the interactions between the system and external systems and users. graphically describes who will use the system and in what ways the user expects to interact with the system.
Use-case diagram
the process of modeling a system's functions in terms of business events, who initiated the events, and how the system responds to those events. Use-case modeling has roots in object-oriented modeling. Gaining popularity in non-object development environments because of its usefulness in communicating with users. Compliments traditional modeling tools.
Use-case modeling
- a textual description of the business event and how the user will interact with the system to accomplish the task.
Use-case narrative
a process of systems development based on understanding the needs of the stakeholders and the reasons why the system should be developed.
User-centered development
Used to extract identical functionality Extract these common steps into their own separate use case called abstract use case. Depicted as an arrowhead line beginning at the original use case and pointing to the use case it is using. The relationship is called a 'uses' relationship
Uses or Includes
-The V-model is another variation of waterfall development that pays more explicit attention to testing. -On the upward-sloping right side of the model, testing of components, integration testing, and, finally, acceptance testing are performed. -A key concept of this model is that as requirements are specified and components designed, testing for those elements is also defined. - It improves the overall quality of systems through its emphasis on early development of test plans.
V-Model
Enterprise Applications
Virtually all organizations require a core set of enterprise applications Financial mgmt, human resources, sales, etc. Frequently purchased Frequently need to have custom elements added Systems Integration - the process of building a unified information system out of diverse components of purchases software, custom-built software, hardware, and networking. Enterprise Resource Planning (ERP) - a software application that fully integrates information systems that span most or all of the basic, core business functions.
Waterfall Methodology
Waterfall Development With waterfall development, the project team proceeds sequentially from one phase to the next. Once the work produced in one phase is approved, the phase ends and the next phase begins. As the project progresses from phase to phase, it moves forward in the same manner as a waterfall. While it is possible to go backward through the phases (e.g., from design back to analysis), it is quite difficult.
Variations of Waterfall Some of these created to improve faults of Waterfall Agile could be talked about this entire semester, and we will come back to parts of it later on.
Waterfall variations
Requirements Analysis Phase
What capabilities should the new system provide for its users? What data must be captured and stored? What performance level is expected? What are the priorities of the various requirements?
Skills Needed by the Systems Analyst
Working knowledge of information technology Computer programming experience and expertise General business knowledge General problem-solving skills Good interpersonal communication skills Good interpersonal relations skills Flexibility and adaptability Character and ethics
refers a person, another software system, or a hardware device that interacts with the system to achieve a useful goal.
actor
focuses on only the non-technical aspects of systems analysis and design
business analyst
is an arrangement of people, data, processes, and information technology that interact to collect, process, store, and provide as output the information needed to support an organization.
information system
Project Methodology Options
is a formalized approach to implementing the SDLC (i.e., it is a list of tasks, steps, and deliverables). Types: Waterfall Code and Fix (Stuctured) Prototyping Rapid Application Development (RAD) Scrum Lean Agile
may be assigned to indicate the relative significance of the use case in the overall system.
priority
depicts a set of activities performed to produce some output result.
use case