Information Systems Analysis and Design - Midterm 1

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Core Process 5: build, test and then integrate each of these system components that you've designed

(5&6) Again this text does not emphasize these as much. You typically will talk about implementation activities more in program and system development courses and you talk more about deployment activities probably in a Capstone project course. So, implementation activities-- first of all is actually do the programming for the software. Now again, when you think about system development often times people will think well that's all about doing all this programming, but program the software is really one activity of one of the core processes. I'm sure it's an awful lot of work to do, but there's a lot more to it than just programming. And then unit tests test each part of the software. And then you build test cases, which allow you to test software and then you integrate and test how all the components work together. Deployment activities have to do with when you're finishing all the overall system tests and you're actually putting the new system in operation in your organization. So, first of all you're performing system and stress tests overall and you're performing user acceptance tests and user acceptance tests insure that the system meets all of the requirements that you define with your end users. There's a lot of work in converting existing data that already exists that you have to reformat and put into the new database that you've just designed and implemented.

Business Model Canvas

9 Components - Customer Segments - Value Propositions - Channels - Customer Relationships - Revenue Streams - Key Resources - Key Activities - Key Partnerships - Cost Structure

Business Model Generation

A business model describes the rationale of how an organization creates, delivers, and captures value

Technique

A collection of guidelines that help an analyst complete an activity or task Learning techniques is the key to having expertise in a field

Functional Decomposition

A structured approach is based on functional decomposition -Developers decomposed and then constructed the system according to the main areas of activity, or functions The subsystems corresponded directly to tasks that the system had to carry out -e.g., a bike rental system would be based on subsystems or processes dealing with renting ("issuing") a bike, returning a bike, maintaining records for bikes and for customers, etc. -Each of these processes would perform a separate function There was a clear separation between data and process

What Makes a Successful Startup

According to the decades-old formula, you write a business plan, pitch it to investors, assemble a team, I introduce a product, and start selling as hard as you can. And somewhere in this sequence of events, you'll probably suffer a fatal setback. The odds are not with you: As new research by Harvard Business School's Shikhar Ghosh shows, 75% of all start-ups fail.

Interview with Uncle Bob

Agile methods are better in every case Uses the example of drafting a story in 3rd grade

The SDLC Support Phase

All information systems need to be supported once completed Predictive SDLCs typically include support as a project phase Adaptive SDLCs treat support as a separate project Support Activities -Activities whose objective is to maintain and enhance the system after it is installed and in use Maintaining the system Fix problems/error Make minor adjustments Update for changes in operating systems or environments Enhancing the system Add desired functionality Add or change functionality to comply with regulations or legislation Supporting the users Ongoing user training Help desk

Models

An abstraction of an important aspect of the real world. -Makes it possible to understand a complex concept by focusing only on a relevant part -Each model shows a different aspect of the concept -Crucial for communicating project information In IS, some models are of system components Other models are used to manage the development process

Advantages of OO Development

Autonomous - i.e., did not depend heavily on other modules Cohesive with a single, well-defined purpose Easy to understand Easily adapted to accommodate new or changed requirements Based on data Reusability Once an object is defined, implemented, and tested, it can be reused in other systems. Reliability Object-oriented code lends itself to verification via unit testing. Robustness Most object-oriented languages support exception and error handling. Extensibility Objects can inherit from other objects, thus lessening the need to constantly "reinvent the wheel." Easier to manage Each object is relatively small, self-contained, and manageable, thus reducing complexity and leading to higher quality systems that are easier to maintain.

Chapter 8 Glossary

Chapter 8 Glossary

Chapter 8 Notes

Chapter 8 Notes

Characteristics of iterative systems development

Each iteration is like a little mini project. You think about each component of the SDLC in each iteration, the emphasis of each core process might just be a little different Less project failure Better productivity Lower defect rate Can manage complexity better Early visible progress Early feedback, user engagement and

Traditional Predictive SDLC

Earlier approach based on engineering Typically have sequential Phases -Phases are related groups of development activities, such as planning, analysis, design, implementation, and deployment Waterfall model -SDLC that assumes phases can be completed sequentially with no overlap or iteration -Once one phase is completed, you fall over the waterfall to the next phase, no going back

The Structured Approach

Earlier approach. Assumes a system is a collection of processes that interact with data Structured analysis, structured design, and structured programming

Newer Adaptive SDLC

Emerged in response to increasingly complex requirements and uncertain technological environments Always includes iterations where some of design and implementation is done from the beginning Many developers claim it is the only way to develop information systems Many IS managers are still sceptical

The Lean Startup

Favors experimentation over elaborate planning Customer feedback over intuition, and Iterative design over traditional "big design up front" development. It's concepts — such as "minimal viable product" and "pivoting" — have quickly taken root in the start-up world, business schools and large companies.

Core Process 3: discover and understand the details of the problem or need Map to what we call SYSTEMS ANALYSIS

First activity is to gather detailed information. You need a lot of information about what is required for the new system. You have to define what the requirements are in detail. Then we'll see that some of the requirements are functional requirements, meaning what use cases have to be carried out by the system and other requirements are non-functional requirements. You need to prioritize requirements. On any project there are things that are absolutely essential. There are some things that might have a lower priority and it is very important to understand and define and get agreement on what are the priorities. You want to develop user interface dialogues that show how the users interact with the system for each of the use cases that you've defined. And then it's very important to get a lot of feedback from users and to evaluate the requirements as you've defined them, to make sure you're on the right track, make sure that what you're doing is really what they need the new system to do.

Additional Adaptive Concepts

Incremental Development -An approach that completes portions of the system in increments -A system is implemented and partially deployed in steps during the project -Gets part of working system into users' hands sooner Walking Skeleton -An approach in which the complete system structure is built early, but with bare-bones functionality

Customer Profile

Jobs • what customers are trying to get done in their work and in their lives • functional • social • economic • basic needs Pains • bad outcomes • risks • obstacles • too costly • makes them feel bad • current solutions are underperforming • social consequences • fears • barriers • difficulties and challenges • what keeps them awake at night Gains • Savings would make customers happy • Outcomes they expect • How current solutions delight them • What makes their job easier • Positive social consequences • What they dream about • the outcomes customers want to achieve • concrete benefits they are seeking • how they measure success and failure • What metrics support adoption of new systems

The Object-Oriented Approach

More recent approach. Assumes a system is a collection of objects that interact to complete tasks OO analysis, OO design, and OO programming

Methodologies, Models, Tools, and Techniques

Provides guidelines for every facet of system development: What to do when, why and how Specifies an SDLC with activities and tasks Specifies project planning and project management models and reporting Specifies analysis and design models to create Specifies implementation and testing techniques Specifies deployment and support techniques

Incremental Development

SDLC approach that completes portions of the system in small increments across iterations, with each increment being integrated into the whole as it is completed

The Unified Process

Similar to iterative development. There are more phases than the SDLC taught in the book.

Core Process 4: design the system components that solve the problem or satisfy the need

So, along with discovering and understanding details, which is really systems analysis, design system components is the second part that makes up what we call systems analysis and design. So, this is really the core of this course. The design activities first of all would be to design the overall environment and then to design the application architecture and the software. There's a lot of detailed work that goes into designing software and it all appears here in this one activity. You need to design user interfaces that show exactly how the user and the computer interact, screen design, dialogue design and so forth. And then you need to design system interfaces. System interfaces are how your system interacts with other systems. And then you have to design the database of course, and then you have to design system controls and system security, increasingly important aspect of information systems today. So, there's a lot of technical expertise, technical techniques that go into these design activities.

Tools

Software applications that assists developers in creating models or other components required for a project

Agile History

Software development emerged in 1950s Waterfall - still prominent Agile development came about because we needed a way to quickly respond to changes and stay competitive Use iterative processes Agile offers a collection of tools and best practices

Two Approaches to Software Construction and Modeling

Structured and Object Oriented

Understanding Agility

The real question for software managers and executives is no longer if you adopt agile, but when and how. Agile is simply the "natural evolution of software processes" to support today's accelerated, rapidly changing business environment.

Data vs Function

The structured approach built systems based on their functionality - the tasks the system had to carry out. The functionality of a system is much more volatile and subject to change than the data Example: Assigning Patients to Beds in a Hospital -The way patients are assigned, and the way nurse rotations are carried out may change -Reports and documentation may change -No matter what the changes, the system will still have patients, beds, nurses, stations - the data remains the same Thus, a system based on data would be more robust

Waterfall Methodology Beginnings

The systems development life cycle (SDLC) in the form of the waterfall model didn't emerge until the 1960s -It is likely the oldest formalized methodology for building information systems. The main idea of the waterfall SDLC is "to pursue the development of information systems in a very deliberate, structured and methodical way, requiring each stage of the life cycle from inception of the idea to delivery of the final system, to be carried out in rigidly and sequentially." Has anyone been involved with waterfall-type SDLCs?

Most Projects fall on a Continuum between predictive and Adaptive

There are two general approaches to the SDLC Predictive Approach -Waterfall model -Assumes the project can be planned in advance and that the information system can be developed according to the plan -Requirements are well understood and/or low technical risk -sequential phases of development; each phase is completed before the next one begins with a focus on structure Adaptive Approach to the SDLC -Iterative model (as see in this text) -Assumes the project must be more flexible and adapt to changing needs as the project progresses -Requirements and needs are uncertain and/or high technical risk

Customer Development Process Get out of the office and test the hypothesis

They go out and ask potential users, purchasers, and partners for feedback on all elements of the business model, including product features, pricing, distribution channels, and affordable customer acquisition strategies. The emphasis is on nimbleness and speed: New ventures rapidly assemble minimum viable products and immediately elicit customer feedback. Then, using customers' input to revise their assumptions, they start the cycle over again, testing redesigned offerings and making further small adjustments (iterations) or more substantive ones (pivots) to ideas that aren't working. (See the exhibit "Listen to Customers.") During customer development, a start-up searches for a business model that works. If customer feedback reveals that its business hypotheses are wrong, it either revises them or "pivots" to new hypotheses. Once a model is proven, the start-up starts executing, building a formal organization. Each stage of customer development is iterative: A start-up will probably fail several times before finding the right approach.

Principles Behind the Agile Manifesto Developed by the agile alliance group, 17 people

We follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Core Process 1: identify the problem or need and then obtain approval

What does the organization face that causes you to need a new information system? What is it you really are trying to solve? Then you need to quantify all the information that would be needed in order to get management approval to proceed with the project. Doing that you also want to perform risk and feasibility analysis to make sure the project is indeed feasible. once you have all this information you can review it with the client and then the key step is to obtain approval from the necessary stakeholders for management in order to continue with the project as you have defined it.

Orwell's Question

Why are humans so stupid? Confirmation bias- a built in mental bias that makes humans favor information that confirms their beliefs Cognitive bias- we have our own biases about memory and how faulty that is and we rely on these things in spite of very little evidence; self deception; we're visionaries; we believe what we need to believe even in the face of counter evidence According to Gee, schools should be doing a better job and might not be, but what might make us smart and moral? Schools don't prepare us to be problem solvers who can think in a democratic world If we plug into tools and other people in the right way, we can be smart and moral. Everyone needs to have evidence and different perspectives to support their reasoning. We need to beg, borrow and steal new ideas; be open to discovery; be distrustful to long-held beliefs; technology and the internet will help us "change the oil in our minds"

The Formula

Write a business plan Pitch it to investors Assemble a team Introduce a product Start selling as hard as you can And somewhere in this sequence of events, you'll probably suffer a fatal setback.

computer application (app)

a computer software program that executes on a computing device to carry out a specific set of functions or related functions

walking skeleton

a development approach in which the complete system structure is built but with barebones functionality

structure chart

a graphical diagram showing the hierarchical organization of modules

agile development

a guiding philosophy and set of guidelines for developing information systems in an unknown, rapidly changing environment

agile modeling (AM)

a guiding philosophy in which only models that are necessary, with a valid need and at the right level of detail, are created

project

a planned undertaking that has a beginning and an end, and that produces some definite result used to develop an information system requires a framework to guide the work of the project team

structured programming

a programming approach where each module has one start point and one end point and uses sequence, decision, and repetition constructs only

system development methodology

a set of comprehensive guidelines for the SDLC that includes specific models, tools, and techniques

information system

a set of interrelated computer components that collects, processes, stores, and provides as output the information needed to complete business tasks much broader in scope than an app

integrated development environments (IDEs)

a set of tools that work together to provide a comprehensive development and programming environment for software developers

data flow diagram (DFD)

a structured analysis model showing inputs, processes, storage, and outputs of a system

structured analysis

a technique to determine what processing is required and to organize those requirements by using structured analysis models

chaordic

a term used to describe adaptive projects that are chaotic and ordered

object

a thing in an information system that responds to messages by executing functions or methods

spiral model

an adaptive SDLC approach that cycles over and over again through development activities until completion

predictive approach to the SDLC

an approach that assumes the project can be planned in advance and that the new information system can be developed according to the plan

adaptive approach to the SDLC

an approach that assumes the project must be more flexible and adapt to changing needs as the project progresses

iterative development

an approach to system development in which the system is "grown" piece by piece through multiple iterations (repetition) complete a small part of the system, then repeat to refine and add more, then repeat to refine and add more, then repeat to refine and add more,

subsystem

an identifiable and partitioned portion of an overall system

Agile Development

an information systems development process that emphasizes flexibility to anticipate new requirements during development fast and responsive to change A guiding philosophy and set of guidelines for developing information systems in an unknown, rapidly changing environment Complements Adaptive SDLCs and Methodologies that support it Uses adaptive methods and makes sure developers are fast on their feet to respond to changes

Business Model v Business Plan

business plan—a static document that describes the size of an opportunity, the problem to be solved, and the solution that the new venture will provide. Typically it includes a five-year forecast for income, profits, and cash flow. A business plan is essentially a research exercise written in isolation at a desk before an entrepreneur has even begun to build a product. The assumption is that it's possible to figure out most of the unknowns of a business in advance, before you raise money and actually execute the idea. Business model is hypothesis driven

Customer Segments

defines the different groups of people or organizations an enterprise aims to reach and serve A business model may define one or several large or small Customer Segments. An organization must make a conscious decision about which segments to serve and which segments to ignore. Customer groups represent separate segments if: • Their needs require and justify a distinct offer • They are reached through different Distribution Channels • They require different types of relationships • They have substantially different profitabilities • They are willing to pay for different aspects of the offer

object-oriented design (OOD)

defining all of the types of objects necessary to communicate with people and devices in the system, showing how objects interact to complete tasks, and refining the definition of each type of object so it can be implemented with a specific language or environment

Cost Structure

describes all costs incurred to operate a business model This building block describes the most important costs incurred while operating under a particular business model. Creating and delivering value, maintaining Customer Relationships, and generating revenue all incur costs. Such costs can be calculated relatively easily after defining KR, KA, and KP. Some business models, though, are more cost-driven than others."no frills" airlines, for instance, have built business models entirely around low Cost Structures.

Channels

describes how a company communicates with and reaches its Customer Segments to deliver a Value Proposition Communication, distribution, and sales Channels comprise a company's interface with customers. Channels are customer touch points that play an important role in the customer experience.

Value Propositions

describes the bundle of products and services that create value for a specific Customer Segment -newness -performance -customization -Getting the job done -Design -Brand/status -Price -Cost reduction -Risk reduction -Accessibility -Convenience/usability The VP solves a customer problem or satisfies a customer need. Each VP consists of a selected bundle of products and/or services that caters to the requirements of a specific Customer Segment. Some VPs may be innovative and represent a new or disruptive offer; others may add new features and attributes.

Key Resources

describes the most important assets required to make a business model work Every business model requires KR. These resources allow an enterprise to create and offer a Value Proposition, reach markets, maintain relationships with Customer Segments, and earn revenues. Different KR are needed depending on the type of business model. Key resources can be physical, financial, intellectual, or human.

Key Activities

describes the most important things a company must do to make its business model work KA are the most important actions a company must take to operate successfully. Like Key Resources, they are required to create and offer a Value Proposition, reach markets, maintain Customer Relationships, and earn revenues. KA also differ depending on business model type (e.g., KA for Microsoft include software development, for McKinsey KA include problem solving)

Key Partnerships

describes the network of suppliers and partners that make the business model work Partnerships are becoming a cornerstone of many business models. KP can optimize the business models, reduce risk, or acquire resources. Consider four different types of partnerships: Strategic alliances between non-competitors; Coopetition: strategic partnerships between competitors; Joint ventures to develop new businesses; Buyer-supplier relationships to assure reliable supplies

Customer Relationships

describes the types of relationships a company establishes with specific Customer Segments -Personal assistance -Dedicated personal assistance -Self-service -Automated services -Communities -Co-creation A company should clarify the type of relationship it wants to establish with each Customer Segment. Relationships can range from personal to automated.

Core Process 2: plan and then monitor the project as it's carried out

establish the project environment go to get tools in place, people on the team and figure out who's going to be on the project, get staffing completed, things like that. schedule the work You need to figure out who's going to be doing what and when. You need to staff and allocate resources and then as you're going along you need to evaluate how well the work processes have been going off and then continue to monitor progress and make corrections to keep the project on track.

technique

guidelines to specify a method for how to carry out a development activity or task

Methodology

includes a collection of techniques that are used to complete activities and tasks, including modeling, for every aspect of the project

Minimum Viable Product

product with the highest return on investment versus risk. containing only critical features—gathers feedback on it from customers, and then starts over with a revised minimum viable product.

object-oriented programming (OOP)

programming using object-oriented languages that support object classes, inheritance, reuse, and encapsulation

phases

related groups of development activities, such as planning, analysis, design, implementation, and support

Revenue Streams

represents the cash a company generates from each Customer Segment (costs must be subtracted from revenues to create earnings) If customers comprise the heart of a business model, R$ are its arteries. For what value is each Customer Segment willing to pay? Successfully answering that question allows the firm to generate one or more R$ from each CS. Each R$ may have different pricing mechanisms

Core Process 6: complete system tests and then deploy the solution

so it can be used in the organization and you can begin to reap the benefits.

Unified Modeling Language (UML)

standard diagramming language helps us explore the big picture

object-oriented approach

system development based on the view that a system is a set of interacting objects that work together

structured approach

system development using structured analysis, structured design, and structured programming techniques

support activities

the activities in the support phase whose objective is to maintain and enhance the system after it is installed and in use

information systems development process

the actual approach used to develop a particular information system

help desk

the availability of support staff to assist users with technical or processing problems of the information system

top-down programming

the concept of dividing a complex program into a hierarchy of program modules

structured design

the design process of organizing a program into a set of modules and organizing those modules into a hierarchical structure

Systems Development Life Cycle (SDLC)

the entire process consisting of all the activities required to build, launch, and maintain an information system

object-oriented analysis (OOA)

the process of identifying and defining the use cases and the sets of objects (classes) in the new system

systems design

those activities that enable a person to define and describe in detail the system that solves the need it describes in detail "how" a system will work to satisfy the need or solve a problem

systems analysis

those activities that enable a person to understand and specify what the new system should accomplish it describes in detail "what" a system must do to satisfy the need or solve a problem

visual modeling tools

tools that help analysts create and verify graphical models and may also generate program code


Ensembles d'études connexes

McKinney Maternal Test Bank Chap 1-30

View Set

APES First Semester Exam Study Guide

View Set

energy forms and transformations test answers (usa test prep. 1.)

View Set

Exam 3: Chapter 10 Cell Reproduction Study Guide

View Set

Security + Topic 2B: Explain threat intelligence sources; Lesson 2: Explaining threat actors and threat intelligence

View Set