IS 460 Final
Chapter 2
- Explain outsourcing - Describe six different sources of software -Discuss how to evaluate off-shelf-software -Explain reuse and its role in software development
What are some traditional Waterfall problems?
- Requires each phase to be completed before another one can. - Can't go back in stages - Results in great expense to make changes -Role of system users or customers narrowly defined -Focused on deadlines
What are some conditions where Agile works best?
- Unpredictable or dynamic requirements - Responsible and motivated developers - Customer who understand the process and will get involved
Pros for Agile
-Allows for rapid prototyping software -Workable version in each step (first mover advantage) -Popular today
Pros for WaterFall
-Borrowed from established engineering/manufacturing fields - Careful planning and consideration before implementation
Cons for waterfall
-Costly -Long lead times - No last min changes
Information Technology Service Firms
-IT service firms help companies develop customer information systems for internal use • These firms employ skilled IT people
Several benefits can be realized by adopting a client/server architecture:
. It allows companies to leverage the benefits of microcomputer technology. Today's workstations deliver impressive computing power at a fraction of the cost of a mainframe. 2. It allows most processing to be performed close to the source of processed data, thereby improving response times and reducing network traffic 3. It facilitates the use of graphical user interfaces and visual presentation techniques commonly available for workstations 4. It allows for and encourages the acceptance of open system
What is the key three principles of Agile?
1. A focus on adaptive rather than predictive methodologies. 2. A focus on people rather than roles 3. A focus on self-adaptive processes
Deliverables for Implementation
1. Coding a. Code b. Program documentation 2. Testing a. Test scenarios (test plan) and test data b. Results of program and system testing 3. Installation a. User guides b. User training plan c. Installation and conversion plan i. Software and hardware installation schedule ii. Data conversion plan iii. Site and facility remodeling plan
Deliverables for Process Modeling
1. Context DFD 2. DFDs of the system (adequately decomposed) 3. Thorough descriptions of each DFD component
What can you do to manage risk?
1. Develop a baseline project plan 2. Context level flow diagram 3. Task responsibility matrix
Database Design 4 Steps:
1. Develop a logical data model for each known user interface for the application using normalization principles. 2. Combine normalized data requirements from all user interfaces into one consolidated logical database model (view integration) 3. Translate the conceptual E-R data model for the application into normalized data requirements 4. Compare the consolidated logical database design with the translated E-R model and produce one final logical database model for the application
Deliverables for Documenting the System,Training and Supporting Users
1. Documentation a. System documentation b. User documentation 2. User training plan a. Classes b. Tutorials 3. User training modules a. Training materials b. Computer-based training aids 4. User support plan a. Help desk b. Online help c. Bulletin boards and other support mechanisms
Deliverables for requirements determination
1. Information collected from conversations with or observations of users: interview transcripts, notes from observation, meeting minutes 2. Existing written information business mission and strategy statements, sample business forms and reports and computer displays, procedure manuals, job descriptions, training manuals, flowcharts and documentation of existing systems, consultant reports 3. Computer-based information: results from JAD sessions, reports of existing systems, and displays and reports from system prototypes
What are three economic cost benefit analysis techniques for determining whether or not to take a project
1. NPV (Net Present Value) 2. ROI (Return on Investment) 3. Break-even analysis
What are the 5 stages of the SDLC process
1. Planning 2. Analysis 3. Design 4.Implementation 5. Maintenance
What are the three key roles for scrum
1. Product Owner 2. Development team 3. Scrum Master
Three characteristics of usability:
1. Speed - Can you complete a task efficiently? 2. Accuracy - Does the system provide what you expect? 3. Satisfaction - Do you like using the system?
Database design has five purposes as follows:
1. Structure the data in stable structures (normalize) 2. Develop a logical database design that reflects the actual data requirements that exist in the forms 3. Develop a logical database design as a basis for physical database design 4. Translate a relational database model into a technical file and database design that balances several performance factors 5. Choose data storage technologies that will efficiently, accurately, and securely process database activities
Ways of Identifying potential development projects
1. Top management 2 Steering committee (Top-Down) 3. User department (bottom-up source) 3. By development group + IS senior manager
Factors influencing system use
1. User's personal stake 2. System characteristics 3. User demographics 4. Organizational support 5. Performance 6. Satisfaction
6 possible evaluation criteria for ranking projects
1. Value Chain Analysis: Extent to which activities add value and costs when developingproducts and/or services 2. Strategic Alignment: Extent to which the project is viewed as helping the organizationachieve its strategic objectives and long-term goals 3. Potential Benefits:Extent to which the project is viewed as improving profits, customerservice, and so forth, and the duration of these benefits 4. Resource Availability: Amount and type of resources the project requires and theiravailability. 5. Project Size/Duration: Number of individuals and the length of time needed to completethe project 6.Technical Difficulty/Risk: Level of technical difficulty to successfully complete the project within given time and resource constraints
How much of budget is spent on IT?
60-80 percent
4 Approaches to Reuse
Ad-hoc - Individuals are free to find or develop reusable assets on their own • Facilitated - developers are encouraged to practice reuse • Managed - the development, sharing, and adoption of reusable assets is mandated • Designed - assets mandated for reuse as they are being designed for specific applications
Rational Unified Process (RUP)
An object-oriented systems development methodology. RUP establishes four phases of development: inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations.
Cloud Computing
Cloud computing examples include: • Google docs, Sheets, and Slides • Share, create docs, spreadsheets, presentations • SalesForce.com (Customer relationship management) • Allows software as a service (SaaS) Benefits include: • Freeing internal staff • Faster access to applications • Lower-cost to corporate-quality applications There are concerns, including security and reliability
Requirements Determination Using Agile Methodologies
Continual user involvement replaces the SDLC with iterative analyze— design—code—test cycle • Agile usage-centered design focuses on user roles, goals, and tasks to achieve those goals • The planning game is a stylized approach to development to maximize interaction between those who use and those who build the system
What is Information Systems Analysis and Design?
Defined as the complex, challenging, and simulating organizational process that a team of business and system professionals use to develop and maintain information systems.
Outsourcing
Definition: turning over responsibilities for some or all of an organization's information systems applications and operations to an outside firm. Reasons for outsourcing: • Freeing up internal resources • Increasing the revenue potential of the organization • Reducing time to markets • Increasing process efficiencies • Outsourcing noncore activities
Chapter 6 Learning Objectives
Describe options for designing and conducting interviews to determine system requirements • Explain how computing can provide support for requirements determination • Participate in and help plan a Joint Application Design session • Use prototyping during requirements determination
Second Normal Form (2NF):
Each nonprimary key attribute is identified by the whole key(referred to as a full functional dependency)
What are the main factors assessing economic feasibility
Economic feasibility - process of identifying the financial benefits and costs associated with a development project. Tangible benefit - benefit from the creation of an information system that can be measured in dollars and with certainty.
Enterprise Solutions Software
Enterprise resource planning (ERP) systems integrate individual traditional business functions into a series of modules so that a single transaction occurs seamlessly within a single information system rather than several separate systems. Benefits include: • A single repository resulting in more consistent and accurate data • Less maintenance
Evolutionary vs. Throwaway Prototyping
Evolutionary Prototyping • Begin by modeling part of the target system • If successful, evolve rest of the system from those parts • Prototype becomes the actual production system Throwaway Prototyping • Prototype is not preserved once system is built • Quickly developed as a mockup 30
Chapter 10 Learning Objectives
Explain how to assess usability and describe how variations in users, tasks, technology, and environmental characteristics influence the usability of forms and reports • Discuss guidelines for the design of forms and reports • Explain the process of designing interfaces and dialogues and the deliverables for their creation • Discuss guidelines for the design of interfaces and dialogues for Internet-based electronic commerce
Chapter 3 Learning Objectives:
Explain the process of managing an information systems project, including project initiation, project planning, project execution, and project closedown • Describe how to represent and schedule project plans using Gantt charts and network diagrams • Explain how commercial project management software packages can be used to assist in representing and managing project schedules
Differences Between File Serverand Client/Server Architectures
File Server Architecture: Processing: Client only Concurrent Data Access: Low—managed by each client Network Usage: Large file and data transfers Database Security and Integrity: Low—managed by each client Software Maintenance: Low—software changes just on server Hardware and System Software Flexibility: Client and server decouple and can be mixed Client/Server Architecture: Processing: Both client and server Concurrent Data Access: High—managed by server Network Usage: Efficient data transfers Database Security and Integrity: High—managed by server Software Maintenance: Mixed—some new parts must be delivered to each client Hardware and System Software Flexibility: Need for greater coordination between a client and serve
When to use Enterprise wide solutions vendors
For complete systems that cross functional boundaries
When to use cloud computing
For instant access to an application; when supported task is generic
When to use open-source
Generic task, but cost is an issue
First Normal Form (1NF):
Has no multivalued attributes, unique rows, and all relationsare optimized (removed many-to-many)
Physical view
How data are actually structured and organized
Logical View
How end users view data
Two audiences for final presentation
IS Personnel who has to maintain the system People who will use the system as a part of their daily lives
What are the advantages of eXtreme Programming
Increased communications among developers Higher levels of productivity Higher quality code Reinforcement of other practices in eXtreme Programming• Include code-and-test discipline28
What can you do to make requirements determinations faster?
Joint Application Design (JAD): structured process in which users, managers, and analysts work together for several days in a series of intensive meetings to specify or review system requirements
Business Case
Justification for an information system, presentedin terms of the tangible and intangible economic benefits and costsand the technical and organizational feasibility of the proposedsystem
What are the two types of designs within the design stage?
Logical Design: The design process that is independent of any specific hardware or software platform. Physical Design: The logical specs of the system from logical design are transformed into technology specific details from which all programming/system construction can be accomplished.
Types of Maintenance
Maintenance: Refers to changes made to a system to fix or enhance its functionality Corrective Maintenance: Refers to changes made to a system to repair flaws in its design, coding, or implementation Adaptive Maintenance: Refers to changes made to a system to evolve its functionality to changing business needs or technologies Perfective Maintenance: Refers to changes made to a system to add new features or to improve performance Preventative Maintenance: Refers to changes made to a system to avoid possible future problems
Scrum Framework
Most popular methodology for Agile/ -Organized in sprints -Daily standups At end of sprints: Sprint Review (Product Focused) Sprint Retrospective (Team Focused) Key artifacts: -Increments -Product Backlog -Spring Backlog
Chapter 11: Designing Interfaces and Dialogues
NA
Chapter 12: DISTRIBUTED AND INTERNET SYSTEMS
NA
Chapter 13 Learning Objectives: Implementation
NA
Last Chapter Maintenance
NA
Third Normal Form (3NF):
Nonprimary key attributes do not depend on each other(referred to as a transitive dependency)
Object-Oriented Analysis and Design (OOAD)
Object: A structure that encapsulates attributes and methods that operate on those attributes Inheritance: Hierarchical arrangement of classes enabling subclasses to inherit properties of superclass's Object Class: Logical grouping of objects that have the same attributes and behaviors
Object-based interaction
a human-computer interaction method in which symbols are used to represent commands or functions
Disruptive technologies
a new way of doing things that initially does not meet the needs of existing customers • Disruptive technologies redefine the competitive playing fields of their respective markets • Disruptive technologies tend to open new markets and destroy old ones • Disruptive technologies typically cut into the low end of the marketplace and eventually evolve to displace high-end competitors and their reigning technologies.
Virtualization
act of creating virtual (rather than physical)versions of a variety of computing capabilities including hardware platforms, operating systems, storage devices, and networks
Testing harness
automated testing environment used to review code for errors, standards violations, and other design flaws
Total cost of ownership (TCO)
cost of owning and operating a system, including the total cost of acquisition, as well as all costs associated with its ongoing use and maintenance
Project Scope Statement (PSS)
document prepared for the customer that describes what the project will deliver and outlines generally at a high level all work required to complete the project.
Request for Proposal (RFP)
document provided to vendors asking them to propose hardware and system software that will meet the requirements of a new system If soliciting RFPs from more than one vendor be sure to: • Create a scoring value for each item requested • Calculate a total score for each vendor after RFPs are received • Select a vendor with a high score
Interface design
focuses on how information is provided to and captured from users
Form interaction
highly intuitive human-computer interaction method whereby data fields are formatted in a manner similar to paper-based forms
Command language interaction
human-computer interaction method whereby users enter explicit statements into a system to invoke operations
Process Modeling
involves graphically representing the processes that capture, manipulate, store, and distribute information between a system and its environment
Menu interaction
is the human-computer interaction method in which a list of system options is provided, and a specific command is invoked by user selection of a menu option
Baseline Project Plan (BPP)
major outcome and deliverable from the project initiation and planning phase that contains the best estimate of a project's scope, benefits, costs, risks, and resource requirements
Competitive strategy
method by which an organization attempts to achieve its mission and objectives Three strategies: • Low-cost producer • Product differentiation • Product focus or niche
Normalization
process of converting complex data structures into simple, stable data structures
Business Process Reengineering (BPR)
search for, and implementation of, radical change in business processes to achieve breakthrough improvements in products and services • Reorganize data flow to eliminate unnecessary steps • Achieve synergy between previously separate steps • Become more responsive to future changes • Can be achieved through creative application of information technologies 34
Service-oriented architecture (SOA)
software architecture in which business processes are broken down into individual components (or services) that are designed to achieve the desired results for the service consumer (which can be either an application, another service, or a person)
Key business processes
structured, measured set of activities designed to produce a specific output for a particular customer or market
What is prototyping?
terative process of systems development in which requirements are converted to a working system that is continually revised through close collaboration between an analyst and users
Cloud computing
the provision of applications over theInternet where customers do not have to invest in and software resources needed to run and maintain the applications, but are charged on a per-use basis
Reuse
the use of previously written software resources, especially objects and components, in new applications Reuse is commonly applied to two different development technologies: • Object-oriented development: Object class encapsulates data and behavior of common organizational entities (e.g. employees) • Component-based development: Components can be as small as objects or as large as pieces of software that handle single business functions
Drawbacks of prototyping
• A tendency to avoid creating formal documentation • Difficult to adapt to other potential users • Built as standalones makes it difficult to adapt to other users • SDLC checks are often bypassed Despite all these drawbacks, prototyping is the most popular approach in systems development today
Balancing DFDs
• Conservation principle states that you should conserve inputs and outputs to a process at the next level of decomposition • Balancing - conservation of inputs and outputs to a DFD process when that process is decomposed to a lower level • Data flow splitting - when a higher level is split with different paths to a lower level DFD
Chapter 9 Designing Databases Learning Objectives
• Describe the database design process, its outcomes, and the relational database model • Describe normalization and the rules for second and third normal form • Transform an entity-relationship (E-R) diagram into an equivalent set of well-structured (normalized) relations • Merge normalized relations from separate user views into a consolidated set of well-structured relations
Chapter 4 learning objectives
• Describe the project identification and selection process • Describe the corporate strategic planning and information systems planning process • Describe the three classes of Internet electronic commerce applications: business-to-consumer, business-to-employee, and business-to-business
Chapter 5 learning objectives
• Describe the steps involved in the project initiation and planning process • List various methods for assessing project feasibility • Understand the activities needed to build and review the baseline project plan • Define a structured walk-through
Four installation strategies:
• Direct installation• Parallel installation• Single-location installation• Phased installation20
What are the main factors affecting project feasibility?
• Economic • Technical • Operational • Scheduling • Legal and contractual • Political
Chapter 8 Learning Objectives
• Explain the role of conceptual data modeling in the overall analysis and design of an information system • Describe how to represent an entity-relationship model and be able to define the terms: entity type, attribute identifier, multivalued attribute, and relationship • Distinguish among unary, binary, and ternary relationships
Open-Source Software
• Freely available, including source code • Developed by a community of interested people • Performs the same functions as commercial software • Examples: Linux, my SQL, Firefox • Two ways to make money with open-source software: • Provide maintenance and services • Sell a more full-featured version of the free software
Characteristics of a good systems analyst
• Impertinence -question everything • Impartiality - consider all issues to find the best solution • Relax constraints - assume anything is possible and eliminate the infeasible • Attention to detail - every fact must fit with every other fact • Reframing -challenge yourself to look at the organization in new ways
How do analysts typically gather requirements?
• Individually interview people informed about the operation and issues of the current system and future systems needs • Interview groups of people with diverse needs to find synergies and contrasts among system requirements • Observe workers at selected times to see how data are handled and what information people need to do their jobs • Study business documents to discover reported issues, policies, rules, and directions as well as concrete examples of the use of data and information in the organization
What are the six different sources of software?
• Information technology services firms (ex. Accenture) • Packaged software producers (Quicken, Microsoft Suite) • Enterprise solutions software (SAP, Oracle) • Cloud computing (AWS) • Open-source software (mySQL, Linux) • In-house development
Package Software Producers
• Serve many market segments • Prepackaged software is off-the-shelf and is not customizable • Examples include Quicken, QuickBooks, Microsoft Word, TurboTax • Meets 70% of an organization's needs
In-House Development
•Involves using an organization's staff to create systems • Can lead to more maintenance needs • Not unusual to incorporate a hybrid of in-house and purchased components
When to use Packaged software
When required task is generic
When to use in-house development
When resources and staff are available, and system must be built from scratch
When to use it IT service firms?
When task requires customer support and system can't be built internally or system needs to be sourced
What are some Project Risk Assessment Factors?
Project size, Project structure, development group, user group
Cons of agile
Requires multifunctional team not good for critical and large projects (Hospital system) \
eXtreme Programming
Short, incremental development cycles Focus on automated tests written by programmers. Emphasis on two-person programming teams Customers to monitor the development process Relevant parts of eXtreme Programming that relate to design specifications are. How planning, analysis, design, and construction are all fused into a single phase of activity. Its unique way of capturing and presenting system requirement and design specifications..
Chapter 7 Learning Objectives
Understand the logical modeling of processes • Draw data flow diagrams following specific rules, and decompose them into lower-level diagrams • Discuss process modeling for electronic commerce applications • Learn Object-Oriented Analysis and Design
Prototyping is useful when:
User requirements are not clear • Few users are involved in the system • Designs are complex and require concrete form to evaluate • All want specific system requirements as communication problems have existed in the past • Tools and data are readily available to rapidly build a prototype