Discussion
Have you participated in the creation of a project that failed? Why did it fail? Based on the System Development Life Cycle Model, what could have been done to help the project succeed? If you have never participated in a project that failed, you can use an example of a project that you have heard of or you can just provide your opinion on what you think might be some of the causes of failed projects. Base your responses on the phases of the SDLC. Keep in mind that the SDLC can be applied to almost any activity you encounter, either at work or outside of work. And if someone is interested in a model that applies to teamwork development, take a look at Tuckman's model at http://infed.org/mobi/bruce-w-tuckman-forming-storming-norming-and-performing-in-groups/
The Complete Information System
Keeping in mind that our focus is on a computer-based information system, we will look at the information system (IS) from two viewpoints—that of its function and that of its structural components. From the functional perspective, an information system is a medium for recording and storing data, and disseminating information that has been extracted from this data. This perspective focuses on what users do with the information that is accessed via the IS.
From a structural perspective, an information system is "a collection of multiple pieces of equipment involved in the dissemination of information. Hardware, software, computer system connections and information, information system users, and the system’s housing are all part of an IS" ("Information System," n.d.).
Note that there are two distinct components or parts of the IS—the humans that design, develop, and use the IS, and the technical components that comprise the IS structure. From either perspective, the purpose of an information system is to collect, store, retrieve, and distribute information used to support decision making, analyze issues, present complex topics in a visual format, and/or even provide the basis for creating new products or services.
All of this data flows through three processes:
· input (collection of the raw data)
· processing that data into information; that is, converting the data into a form that can be understood
· output (providing the information to those who will use it)
There is also a feedback loop which takes the output that has been evaluated and returns to be added to or corrected as input.
Circular Flow Diagram
Diagram adapted from Fuad, 2017. Image credit: valentinrussanov/Signature Collection/iStock
The Components of a Computer-Based Information System
Fuad (2017) lists five primary components of an IS:
1. Hardware resources: These resources are all the physical equipment and associated devices, machines, and media. The list of equipment includes not only the computers themselves and peripherals such as keyboard and mouse for input, monitors and printers for output, but also the data media—that is, all tangible objects on which data is recorded. The data media comes in many forms such as sheets of paper, CDs and DVDs, flash drives, etc. Optical character recognition (also optical character reader, OCR) devices may be used for converting text on forms to a digital format.
2. Software resources: This set of resources includes not only a computer's operating system, and programs or apps, but also the operating instructions that are employed by the end users of an IS. User manuals (how to use an app or how to fill out a data entry form) are examples of a software resource.
3. Data resources: This is the raw material that an information system requires. It can come in many forms:
· Numbers, alphabetical, or other characters that describe a transaction or event
· Text data—sentences, paragraphs used in communication
· Image data—photos, shapes, figures
· Audio data—human speech or other sounds that are recorded for a specific purpose (for example, bird calls or songs, muffler noise abatement levels)
4. Network resources: Remember that the purpose of an IS is to collect, store, retrieve, and distribute information that is used to support decision making, analyze issues, present complex topics in a visual format, and/or even provide the basis for creating new products or services. This often requires telecommunications networks: internet (connection to the World Wide Web), intranet (private communication networks inside a business), or extranets (private connections between businesses). This category includes the physical communication media such as twisted pair wire, coaxial cable, fiber-optic cable, microwave systems, and communication satellite systems. The people, hardware, software, and data resources that support the operation and use of the internal network(s) or access to the internet are also required.
5. People resources: This category includes the end users and IS specialists.
· The end users are those who use the information provided by the IS. Most of us are end users of information systems. But more specifically, end users are those with careers in such fields as accounting, sales, engineering, management, banking, airline reservations, or human resources.
· IS specialists develop, operate, and support an information system. These are the system analysts (designers), programmers, testers, computer operators, data specialists, and data entry personnel.
Structural Differences in Information Systems
There are different types of information systems, depending on whatever activities the IS needs to support. One way to categorize different systems is by the type of decisions that need to be made: operational, tactical, or strategic (Kimble, n.d.).
1. Operational
· The transaction processing system (TPS) is probably the system you interact with most often. This system collects data from user inputs and then generates outputs based on the data collected. The data collection is typically obtained through automated or semiautomated activities and basic transactions. For example, you decide upon a product and place an order for that product with an online seller. All the information related to that order (size, color, shipping preference, cost, banking or payment information, shipping address) is collected and the order processing begins. Behind the scenes, inventory updates are made, and your information may also be shared with an operations support system, resulting in emails from the company or suggestions for other products you may like. Examples of TPS include payroll systems, reservation systems, order processing systems, and personal banking activities. The TPS is used to generate information that is shared with and used for other systems (both within and external to the company). Some of this data is shared or sold to third-party companies for their use.
· An operations support system (OSS) converts business data (such as financial transactions, "hits" or "likes" on a website, orders placed, etc.) into information that can be used via data mining. This is the foundation information for customer relationship management (CRM) or social customer relationship management (SCRM).
2. Tactical
· A management information system (MIS) is used by lower management in problem solving and making decisions and to ensure the smooth running of the organization. Structured procedures and accessible data for making decisions are in place. This type of system also allows managers to see trends and overall performance by evaluating current with previous outputs. This type of IS deals with the past and present rather than the future. Examples of an MIS include personnel (human resource management—HRM) systems, inventory control systems, and sales. A management reporting system is typically included.
3. Strategic
· A decision support system (DSS) pulls data from sources. This data is then reviewed by higher management, which makes long-term determinations based on the compiled data. A DSS must be flexible to handle the fact that there may be no clear procedures for making the decision and if the factors to be considered in the decision can be readily identified in advance. Typically customized reports are generated based upon a particular set of data and a particular output format.
· A knowledge management system (KMS) is used to disseminate or share the knowledge generated by all other systems. A KMS serves as a central repository for the retention of a business's knowledge and is used to improve performance and consistency and enable a speedy response to inquiries from clients and partners.
Apps That Support Information Systems
This set of software resources starts with:
· a computer's operating system
· the programs or apps that allows both the development and maintenance of an IS
· the interface that allows the end user to use the IS
Every general-purpose computer in whatever form—mainframe, workstation, desktop, laptop, tablet, smartphone—requires an operating system (OS). The OS is the heart of the computer, enabling all the other components (hardware and software) to perform the functions assigned to them. The OS is the software component that manages the hardware pieces and all of the other software, enabling both parts to perform the functions for which they are designed. The OS also controls some aspects of security—specifically, allowing only authorized users, via a user ID and password that are entered, to access the system.
Regardless of the platform (device), the OS coordinates the use of the system hardware with the application programs that enable the user to perform tasks. In the same way an OS is loaded on hardware that is compatible with that particular OS, application programs can be loaded only on top of an OS with which the application program is compatible.
Computers that support an IS would also use a network operating system that supports a number of computers that are linked via a network. Most often, one machine, a server, is the computer that controls access to the resources (hardware and software) used by the other computers on the network. This server may also provide a centralized storage area for data. The other computers on the network are called clients. A network OS (e.g., Microsoft Windows Server, Apple OS X Server, Linux Server) is a different software package than that used on a standalone OS.
Operational Software Applications
It is probably the case that your only experience with TPS systems is via the interface you use. Behind the scenes, the TPS software can be put into three categories (Bernstein, n.d.):
· A front-end program is an app that sends and receives menus and forms. It is the interface that the user sees and offers the user options to choose. It collects the user's input.
· A request controller receives messages from front-end programs and then, in turn, initiates the proper transaction programs.
· A transaction server performs the work the user requested. It is typically connected to a database that may collect the input data and initiate other programs. It may also return a reply that is sent back to the device on which the front-end program is loaded (Bernstein, n.d.).
Tactical Software Applications
An MIS uses several different types of software apps, depending on the focus of the business. Function-specific apps include:
· customer relationship management (CRM)
· enterprise resource planning (ERP)
· supply chain management (SCM)
· human resource management (HRM)
· database management systems (DBMS).
The best software for any business is software that helps the business increase or measure productivity in order to run its operations better, cut costs, and replace paper processes (Mohamed, n.d.).
Data gathered and processed by the TPS is sent to the MIS which, in turn, produces routine reports used by management. The software is used to generate these reports. These reports include:
· summary reports that show totals and trends.
· exception reports that can display out-of-the-ordinary data.
· periodic reports, generated on a schedule (daily, weekly, monthly, quarterly, etc.) and which typically are printed.
· demand reports, generated outside a normally scheduled periodic report, in response to a specific request for certain information.
Strategic Software Applications: DSS and KMS
With the introduction of integrated computerized decision support systems to support day-to-day operating activities, managers can "download and analyze sales data, create reports, and analyze and evaluate forecasting results. DSS can help managers perform tasks, such as allocating resources, comparing budget to actual results, drilling down to analyze results, projecting revenues, and evaluating scenarios" (Power, Examples of DSS, 2002). Executive dashboards and scorecards can be used to track operations and support strategic decision making based on facts and data and not on hunches and gut instincts.
Most of the newer and updated DSS have the following attributes in common (Power, Using Computerized DSS, 2002):
1. Real-time access to rich media/data enables many remote users to collaborate.
2. DSS applications can be accessed anywhere and anytime.
3. Large data sets that include historical data are easily accessed.
4. Excellent graphs and charts are available for viewing the extracted data.
5. Real-time updates to the data are available when needed.
The biggest players (and perhaps the most expensive to implement) in the DSS field are SAP and Oracle. SAP is the largest in the market. and features accounting and distribution software suites as well as software systems for manufacturing, human resources, payroll, and customer relationship management (ERPsoftware360, n.d.). Oracle, the second largest, develops marketing and enterprise resource planning software, as well as CRM and SCM software ("Oracle Corporation," n.d.).
You can review many other options at http://www.capterra.com/knowledge-management-software/ .
As with DSS, KMS-based tools need to match the needs of the organization to a tool category. Several of the most highly recommended knowledge management software suites include:
· Zendesk—a cloud-based application that can be implemented for small or large numbers of customers
· eXo Platform—used by large enterprises, midsize businesses, and public administrations
· Confluence—organizes a repository of information, opinions, and knowledge that helps in answering questions and creating how-to documents.
Remember, however:
KM is about managing people, culture, and organizational practices & structures. Effective KM initiatives are therefore never exclusively technology driven. However, in conjunction with sound practice, KM tools are invaluable at providing support to KM initiatives and at facilitating interaction, exchange of ideas, locating experts, and storing knowledge in both structured and unstructured forms (Frost, 2017)
Today, these tools serve as a competitive advantage within the knowledge sharing field.
Summary
The heart of almost every information system is a database. You may be familiar with a simple database management system, Microsoft Office’s Access. Excel could also be used as a database in an information system since it is a repository of information that can support information and knowledge discovery, decision making, and visual analytics.
Information Systems
Source: Mbaknowl.com. (n.d). Used with permission.
The purpose for gathering data is to provide information, and that information, in turn, can be used for decision making. Regardless of the type of information system, all information systems involve hardware and software that support the sharing or processing of data into information. And every IS also must include the people who support the system, as well as those who benefit from the information that is generated and shared.
In your next assigned reading, you will be introduced to the system development life cycle. This process outlines ways in which an information system may and should be developed.
References
Bernstein, P. (n.d.). Transaction processing system examples and SOA approaches. Retrieved from http://searchdatamanagement.techtarget.com/feature/Transaction-processing-system-examples-and-SOA-approaches
ERPsoftware360. (n.d.). Top 5 client-server ERP software applications. Retrieved from http://erpsoftware360.com/erp-software.htm
Frost, A. (2017). KM Tools. Retrieved from http://www.knowledge-management-tools.net/knowledge-management-tools.html.
Fuad, S. (2017, January 22). MIS Lecture 3. Retrieved from http://uotechnology.edu.iq/ce/Lectures/SarmadFuad-MIS/MIS_Lecture_3.pdf
Information system (IS). (n.d.). In Technopedia. Retrieved from https://www.techopedia.com/definition/24142/information-system-is
Kimble, C. (n.d.). Information systems and strategy. Retrieved from http://www.chris-kimble.com/Courses/World_Med_MBA/Types-of-Information-System.html
Kline, J. (2015, May 7). What are the best knowledge management tools out there? Retrieved from https://www.quora.com/What-are-the-best-knowledge-management-tools-out-there
Mohamed, A. (n.d.). The best software for small businesses (SMEs) - essential guide. Retrieved from http://www.computerweekly.com/feature/The-best-software-for-small-businesses-SMEs-Essential-Guide
Oracle Corporation. (n.d.). In Wikipedia. Retrieved from https://en.wikipedia.org/wiki/Oracle_Corporation
Power, D. (2002). Examples of decision support systems (DSS) aiding business decision-making. In Decision support basics. Santa Barbara: Greenwood. Retrieved from http://searchbusinessanalytics.techtarget.com/tutorial/How-decision-support-systems-DSS-can-help-business-decision-making
Power, D. (2002). Using computerized decision support systems, and the history of DSS. In Decision support systems: Concepts and resources for managers. Santa Barbara: Greenwood. Retrieved from http://searchbusinessanalytics.techtarget.com/tutorial/Using-computerized-decision-support-systems-and-the-history-of-DSS
Licenses and Attributions
Fuad, S. (2017, January 22). MIS Lecture 3. Retrieved from http://uotechnology.edu.iq/ce/Lectures/SarmadFuad-MIS/MIS_Lecture_3.pdf
The System Development Life Cycle (SDLC)
What Is the SDLC?
The system development life cycle (SDLC) is a structured methodology and process that guides the development of an information system. SDLC is based on a series of related activities that are combined into phases, sometimes called life-cycle phases. The phases represent a state or stage in the life of an information system. Generally speaking, an information system life cycle proceeds from requirements gathering to design and development to operations and maintenance to decommissioning. Each successive phase leverages the documentation and knowledge gained from the previous phases. The figure below shows the general flow of a basic SDLC.
Basic System Development Life Cycle
The main purpose of using SDLC is to promote quality during the design, development, and implementation effort. When SDLC is used properly, an information system is more reliable and cost-effective because project activities are planned, documented, tracked, and controlled. To ensure that the information system will meet the stated requirements, SDLC also includes predefined reviews, inspections, and audits for the life-cycle processes and deliverables to identify variances and recommend changes.
Using the SDLC Acronym
As with most acronyms, there can be some confusion associated with using SDLC. Within the information technology industry, SDLC may also be used for:
· Synchronous Data Link Control—A communications protocol that divides network functions into clearly defined layers.
· Software development life cycle—Also known as software development process (SDP), this is the set of life-cycle phases associated with software programs.
For the purposes of this module, SDLC will be used as defined in the first section of this module.
Why Is SDLC Important in the Development of an Information System?
An information system does not consist solely of the software and hardware an organization uses. Effective use of technology is also dependent on having a solid set of processes and procedures for meeting business objectives, delivering products and services, and enabling continuous process improvement. Another important component of an information system is the trained, skilled people who use the technology, processes, and procedures to operate in and manage the organization.
The relationship between the technology, processes, procedures, and people is symbiotic: any change to one component will have some effect on the others. For example, introducing a new human resources information system into an organization without considering how it might affect the organization's processes and procedures could doom the system to failure before it is fully deployed. A key aspect of using SDLC is considering all components of an information system throughout the entire project. This holistic approach is one of the main reasons why using SDLC is increasingly becoming a critical success factor for implementing today's complex, high-stakes information systems.
Because implementing these systems is an expensive, multiyear effort, SDLC is also an important organizational tool to ensure that information system resources are implemented in a fiscally responsible and efficient manner. A life-cycle approach ensures that there is a clear plan and process for:
· identifying and validating organizational requirements early in the project
· designing and developing the system based on the approved requirements
· deploying and transitioning the completed system to the user community
· operating, maintaining, and updating the system once it is deployed
· decommissioning the system when it is no longer required or when it is replaced
The SDLC Phases
The SDLC phases are the sequence of activities associated with the life cycle of an information system. Although the number of SDLC activities can vary depending on the type and complexity of the information-system project or the SDLC model used, there are some common guidelines that allow the activities to be grouped into clearly defined phases. These recommended guidelines are outlined below.
· Complete a preliminary investigation, requirements analysis, and system recommendation.
· Specify a detailed design based on an approved set of requirements.
· Develop the system according to the approved design specification.
· Test the system and gain user acceptance.
· Install, operate, and maintain the accepted system.
· Update or replace the system as organizational goals and requirements change.
· Decommission the system when it is no longer needed.
· Document, report on, and approve each phase of the SDLC before beginning the next phase.
Following these common guidelines helps mitigate the risk that the design and development effort will get out of control either through missed requirements, schedule delays, or cost overruns. Because the guidelines require interaction with stakeholders throughout the project, they also prevent surprises when the system is rolled out to the user community. As you read through the approaches in the following sections, see if you can identify these common steps.
Four-Phase Approach
This approach divides the life cycle into four major phases. It may be used when an organization has a good understanding of its requirements or the type of information system being implemented.
The figure below shows the four phases and some of the key activities associated with each phase.
Four-Phase Approach
|
Planning |
Analysis |
Design |
Implementation |
|
Those responsible for creating the system must first determine whether the system is actually needed, and what is will do for the organization if it is created. A basic idea of how to build the system is explored. A project plan is created and a project manager assigned. |
Again, the responsible group must first decide whether to go ahead with the project and whether the resources needed to complete the work are even available. A feasibility study needs to be completed which justifies the need to replace an existing system, identifies the improvements that will be made if the new system is created, and reviews whether there is budget and resources sufficient to create the system. |
In the design phase, a detailed plan for creation of the system is developed. This plan is then implemented and hopefully results in creation of all the components needed to complete the system. |
Implementation consists of both the actual product development and installation of the product for the users. This phase should also include documentation, user manuals, training, and actual maintenance of the system, and any future updates or expansion of the system. |
|
Source: Four Phases of SDLC? (n.d.). |
Nine-Phase Approach
This approach divides the life cycle into nine phases. The following table shows the phases and some of the key activities associated with each phase. As you read through the table, compare it with the four-phase approach. Note that a more granular approach is taken for the preliminary investigation, requirements analysis, and system recommendation portions of the project.
Organizations may use this approach when implementing an unfamiliar type of information system. The nine-phase approach is also more appropriate for implementing an information system that will be used across all business units within an organization.
|
Nine-Phase Approach |
|
|
SDLC Phases |
Key Activities |
|
Initiation phase |
· Develop business case · Identify project sponsor · Appoint project manager · Develop concept proposal · Review and approve concept proposal |
|
System concept development phase |
· Analyze business need · Form project team · Plan project · Develop project-acquisition strategy · Identify and analyze risks · Obtain funding and resources · Document phase efforts · Review and approve phase documents |
|
Planning phase |
· Refine acquisition strategy · Analyze project schedule · Document internal processes · Establish agreements with stakeholders · Develop project-management plan · Review and approve project-management plan |
|
Requirements analysis phase |
· Define functional requirements · Define technical requirements · Conduct reviews and approve requirements |
|
Design phase |
· Design system · Design business processes · Outline operations and maintenance manuals · Outline deployment plan · Conduct design reviews · Approve system design |
|
Development phase |
· Refine and complete software requirements · Refine and complete software design · Acquire and install hardware · Code and test software · Conduct hardware- and software-qualification testing · Install software · Test system qualification · Complete plans and support documentation · Test and review documentation · Develop deployment plan · Obtain approval and acceptance of all development documentation |
|
Integration and test phase |
· Conduct subsystem/system testing · Conduct security testing · Conduct user-acceptance testing · Review and finalize development-phase documentation · Obtain user acceptance |
|
Implementation phase |
· Communicate deployment plan · Execute training plan · Perform data entry, migration, and conversion · Install new system · Perform post implementation evaluation · Obtain approval to operate the system |
|
Operations and maintenance phase |
· Transition project to operations · Operate system · Perform data and software administration · Perform system and software maintenance · Identify problems, recommend modifications, and update the system · Monitor organizational changes, recommend modifications, and update the system |
Ten-Phase Approach
The U.S. Department of Justice (DOJ) uses a 10-phase SDLC approach on its information system implementation projects. Like the nine-phase approach, this approach emphasizes the preliminary investigation, requirements analysis, and system recommendation project activities. The main difference between the DOJ approach and the nine-phase approach is that the DOJ approach also includes a phase to dispose of the information system when it is no longer needed.
SDLC Models
Waterfall Model
The waterfall model is often used to represent the SDLC process. This linear, sequential model is often considered to be the foundation and origin of today's SDLC methodology. Although there is disagreement as to when the model was first introduced, the general consensus is that it has been in existence in one form or another since the 1960s.
Waterfall development is still widely used for software engineering projects because it has distinct goals for each phase of the development and requires each phase to be fully completed before the next phase can begin. Once the decision is made to go to the next phase, there is no turning back. Like a waterfall, once the water goes over the cliff (phase), it cannot flow back. The figure below graphically shows how the waterfall model works using the DOJ's ten-phase approach.
Waterfall SDLC Model
The advantage of waterfall development is that it allows for direct project manager and management control. A timeline can be established with specific deadlines for each phase, and a software solution can proceed through the development process like a product through an assembly line, and if properly managed, be delivered on time. Each phase of development proceeds in a predefined order, without any overlapping steps or turning back.
The disadvantage of waterfall development is that there is no returning to a previous phase. Once the software solution is in the design phase, it is difficult to go back and modify a feature or function that was not well thought out in the requirements phase. Today's complex, cross-functional information systems require a more iterative approach and development effort.
Fountain Model
The fountain model recognizes that overlap may be needed between some development phases, and previous phases may have to be revisited throughout the development cycle. For example, planning may need to be fully completed prior to beginning requirements analysis. Once planning is completed, the requirements analysis, design, and development phases may have activities that must overlap to ensure the system is properly built. Like water in a fountain, details about the information system are pushed up through the phases, but at any time the details may flow back through the previous phases to be refreshed and refined as more is learned about the system. The figure below graphically shows the way the fountain model works, using the DOJ's 10-phase approach.
Fountain SDLC Model Based on DOJ 10-Phase Approach
Source: Janet Zimmer
At first, the fountain model can be confusing. If you have never used the model on a project, you may not understand that the overlapping phases and curved arrows demonstrate the highly iterative nature of this life-cycle approach.
The advantage of fountain development is that changes can be made to the components of the information system as the project team learns more about what is actually needed or uncovers gaps in the concept, requirements, or design.
The disadvantage of this model is that it may take more time and cost more to complete the information system. Without strong project management, the information system theoretically may never be completed if the project team gets caught in a loop of ever-increasing scope and continuously changing requirements.
Build-and-Fix Model
Build and fix is recognized as the crudest, least structured model in the SDLC family. In this model, the solution is developed without any proper preliminary investigation, requirements analysis, or design. In essence, the solution is built (think of this as a working model or prototype) and modified as often as necessary until it satisfies the customer's needs. The figure below graphically shows the way this model, which uses only the development and operational phases of the four-phase approach, works. Some of the study and design phase activities may be completed during a highly iterative modify phase.
Build-and-Fix SDLC Model
Source: Janet Zimmer
The advantage of the build-and-fix model is that it provides an efficient framework for extremely small, low-priority development efforts that involve a single customer. In some cases, it may be necessary to use the build-and-fix model when there is not enough time for a more rigorous approach. The highly iterative nature of this model ensures intense and frequent customer involvement in the development of the information system.
The disadvantage of this approach is that the cost is usually greater than if a preliminary investigation, requirements analysis, and detailed design had been completed. This is an extremely open-ended, risky approach that requires careful management and control. Organizations are strongly discouraged from using this SDLC model except for small, low-priority projects.
Rapid Application Development (RAD) or Rapid Prototyping Model
In most cases, rapid application development (RAD) is used when developing a software solution that is heavily dependent on the organization's business processes and the end users' knowledge and understanding of those processes. In essence, the end users can provide better feedback about the system requirements by examining a live system rather than commenting on the associated documentation.
In a sense, the RAD is also a type of working model or prototype of the solution that allows the end user to see how various requirements have been implemented as the product is developed. It is analogous to working with a tailor who is making a custom suit for you. At various stages of the suit's construction, you may have to return to the tailor's shop, try on the unfinished pieces, and provide feedback that is used to update the measurements and complete the suit. The type of suit and the fit you expect may dictate how many iterations are needed before the tailor's work is done.
RAD is made possible by the significant advances in the software development environment that allow for more rapid code generation and faster modifications to application screens and other user interfaces. The figure below graphically shows how the RAD model works using a modified version of the DOJ's ten-phase approach.
RAD/Rapid Prototyping Model
Source: Janet Zimmer
The advantage of the RAD model is that it can result in a lower level of rejection when the information system is placed into production. End users are given the opportunity to work with the screens online in a production-like environment, which means a significant number of design and development errors can be caught earlier in the process. The model also allows end users to be heavily involved in the software development effort and take ownership of the finished product.
The disadvantage of this model is that RAD could lead to cost and schedule overruns. Another downside is the propensity of the end user to increase the scope and add new requirements during the development effort. Some end users may think that because it is easy for the developer to produce the basic screens that it is just as easy to add extra enhancements. Without strong project leadership, participants can lose sight of the goal of producing an optimal, useful system and instead attempt to develop a gold-plated application that goes beyond the organization's requirements. For this reason, the project team may use a blend of RAD prototyping and the traditional waterfall approach.
Agile Model
The agile model is, in some ways, similar to the build-and-fix and RAD models in that multiple releases of the product are made, each with small incremental additions that lead up to a final product. Each release is tested by the customers and requires a close working relationship between customers, developers, and testers. That interaction with the customer can also be its downfall if the customer is not sure of or clear about the direction in which the project is heading, potentially resulting in false starts or dramatic changes in requirements as the project progresses.
The figure below graphically shows how the agile model might work.
Agile Model
Source: Janet Zimmer
The SDLC and Testing
Regardless of the model used in the system development, testing should be incorporated into every phase of the life cycle. These are some of the types of testing that should be incorporated into the development cycles:
Unit test: This test focuses on just one of those subsystems to ensure that it operates correctly and produces the results according to specifications for the system.
Integration test: This test uses real data and tests whether each of units continue to work properly with the "live" data used by the various subsystems. This type of test works with multiple units to see that output from one unit is properly applied to another unit and produces expected results.
System test: This test determines whether all of the components of the system work together. This is especially important if different work units are creating pieces or subsystems of the project. These subsystems must be able to work seamlessly with all other subsystems to which they are connected. Where the integration test might test closely related units, the system test involves using data across all units to ensure expected results.
Acceptance test: Although this might be used only after the system test is verified, the end users may get involved in smaller versions of unit or integration tests to ensure that the system is working according to the users' specifications. The user may not accept the product if it does not perform according to those specifications.
Relationship Between SDLC and Project Management
Project management is a profession and discipline that uses a systematic process to plan, manage, execute, and control projects. Project managers are found in just about every commercial and noncommercial environment, including construction, education, financial services, government, medicine, manufacturing, nonprofit, technology, and utilities environments.
The project-management process uses the same structure and rigor found in the SDLC phases models. A typical project-management process may include the steps shown in the figure below.
Project Management Process
Source: Janet Zimmer
Although many projects do not require an SDLC approach, most information technology projects do. Specifically, when some form of information system is needed, SDLC is required and project management is needed to plan, schedule, and control the associated activities. As an information system moves through its life-cycle phases, it may spawn several projects. For example, there may be separate projects to:
· determine the business need,
· find, analyze, evaluate, and select a vendor
· define what needs to be done to update an aging system during the operations and maintenance phase
· dispose of an information system that is no longer required
In most cases, the project ends when the information system moves into the operations and maintenance phase. In all cases, it is project management that brings order and organization to information-system-development efforts.
Summary
SDLC is the progression through a series of stages or states of an information system. It lasts from the conception of the system to its disposition. The number of life-cycle phases can vary from system to system and according to the needs of the organization. SDLC models are tools that allow project and development teams to correctly follow the SDLC stages required to develop the various types of information systems. Project management is used to plan, schedule, and control the SDLC phases associated with a selected model.
Sources
Elliott, R. K. (2006). Sorting out SDLC terminology. Retrieved from http://www.managingsoftwaredevelopment.com/Ed001article2.htm
Four phases of SDLC? (n.d.). Retrieved from http://www.answers.com/Q/Four_phases_of_SDLC
Justice Management Division. (2003, January). Systems development life cycle guidance document. Washington, DC: Department of Justice.
Mulcahy, R. (2005). PMP exam prep (5th ed.). Lakewood, CO: RMC Publications, Inc.
Office of the Chief Information Officer. (2006, February). Smithsonian information technology plan FY 2006–FY 2011. Washington, DC: Smithsonian Institution.
Office of Information Technology. (2006, August). Systems development life cycle (SDLC). Volume 2: SDLC Phases. Annapolis, MD: Maryland Department of Budget & Management.
Project Management Institute. (2004). A guide to the project management body of knowledge (PMBOK Guide) (3rd ed.). Newtown Square, PA: Project Management Institute, Inc.
Schwalbe, K. (2005). Information technology project management (4th ed.). Boston: Thomson Course Technology.
Shelly, G. B., Cashman, T. J., & Vermaat, M. E. (2007). Discovering computers 2007: A gateway to information. Boston: Thomson Course Technology.
Adding New Data to an Excel Table
1. To show the versatility of using Excel tables as the basis for creating pivot tables and charts, we can return to our original data under the RevenueBase worksheet of the workbook in the file "CarRentalTable.xlsx."
Let’s say we received new data from the Airport location for Q3. We insert two lines into rows 42 and 43 and add additional data.
Adding Two Rows and Data
Alternatively, we could click within the Excel table, choose the Design tab at the top of Excel and momentarily untick "Total Row" under the Table Style Options group. This would free up Row 42, so we could add as many lines as needed and then tick the Total Row again.
Excel’s Design Tab
When we return to the worksheet with our pivot table and pivot chart, they will not yet reflect the new data. However, if we click within the pivot table and choose Refresh, the new data will appear in both the pivot table and the pivot chart.
Refreshing the Pivot Table
Other Features of Excel Tables
1. To show more of the functionality and flexibility of Excel tables, let’s return to our pivot table in the file "CarRentalTable.xlsx." (Did you rename the Worksheet tab to something more descriptive?)
Functionality and Flexibility of Excel Tables
With the cursor anywhere within the pivot table, right-clicking will reveal options for formatting and other options for the pivot table. This is where the option to Refresh the data is found. Summarize Values By andShow Values As, both about halfway down the list, provide interesting tools to modify the Excel table.
More Tools
Summarize Values By shows these options (and additional features are available under More Options).
Summarize Values By
Currently, the Excel table is set to "Sum." However, if we choose "Average," this is the result:
Average
Note the "name" of the Excel table has changed to "Average of Revenue." The first figure underlined, $345,996, corresponds to the average of recorded sales of the Premium and Economy cars categories in 2015 Q1. The second figure underlined, $552,556, corresponds to the average of the averages from the 10 quarters from 2015 Q1 to 2017 Q2.
This is another instance where it’s important to know the data and whether a particular manipulation makes sense. For example, "Count" may make sense in inventory, but with our data, it simply counts the number of data points, which is two for each quarter (one value for Economy car class and one value for Premium car class, per quarter). The following Excel table is not particularly helpful. But this is where it’s helpful to be familiar with the back arrow at the top left of Excel (or the "Undo" unction) or Ctrl-Z on the keyboard.
Count
Right-clicking on a cell and selecting "Show Values As" reveals these options:
Show Values As
% of Column Total will show each quarter’s (and each year’s) contribution to the total revenue for that column, in this case, the location.
Thus, sales at the Airport location in 2016 contributed to 42.64% of total sales over the 10 quarters at that location. The highest contributing quarter for both locations combined was 2017 Q1, when revenues comprised 12.4% of total revenue over the 10 quarters.
Percent of Column Total
% of Grand Total gives a slightly different view. The individual cells beneath Airport and Downtown now show the percent of that quarter when compared to the Grand Total of Revenue for the company (both locations) over the 10 quarters. We can also see over these 10 quarters that the Airport location contributes 52.94% of total revenue, while the Downtown location has 47.06%. Finally, note that in this example, the Grand Total column in both % of Column Total and % of Grand Total are the same.
Percent of Column Total
As a general guideline, do not limit yourself to the functionalities shown in these tutorials. For example, in the right-click menu within the Excel table, just below Show Values As, there is an option for Value Field Settings. Choose that option and try to understand what functionality it offers. You’ll find that as with many functionalities in Excel and more broadly in Office, there are often several ways to accomplish the same task.
After choosing Value Field Settings from the right-click menu, you’ll get the following Value Field Settingsdialog box:
Value Field Settings
More on Charts
1. You already had an introduction to charts and data visualization in Excel in the GCF tutorials. In this tutorial, we’ll be taking that discussion one step further.
2. For this part of the tutorial, we are going to prepare our data from scratch. This way, we’ll also investigate some of the automated "autofill" features of Excel.
Open Excel and choose Open a Blank Workbook. In Cell A1, type the word Date and hit Tab on your keyboard. Note that in Excel when you hit Tab, the cursor or "active" cell moves to the right. When you hit Enter, the cursor or "active" cell moves down.
In Cell B1, type the word Deliveries and hit Enter (or Tab). In Cell A2, type Jan 1 and hit Enter. Note that Excel reformats the date to 1-Jan and the current year also appears in the formula bar.
Setting Column Headings
If we want the year to appear in the cell, we can choose the Number Format drop-down menu and choose "Short Date."
Setting the Date in Column A
In Cell A3, type Jan 2 and hit Enter. Other ways to enter the date of Jan 2 are 1-2, jan 2, or 1/2.
3. Once we have two dates entered, we can use Excel’s autofill feature by selecting the two cells, A2 and A3, and dragging the small box in the bottom right of Cell A3 down to Cell A32. Note that Jan 31 is indicated.
Release the selection there, and all days in January will be populated. This works for many different labels, such as days—Sunday in one cell and Monday in the next can be dragged out to complete a week. 10 and 20 in two cells can be dragged out to multiples of 10 (10, 20, 30, 40, etc.). Week 1 and Week 2 in two cells can be dragged out to Week 3 and Week 4 and beyond.
Thirty-one days in January populated in Column A:
Column A
4. Now, we need some data. Any random data will do for this exercise. In Cell B2, type: =INT(RAND()*100)
Starting from inside the parentheses, the RAND() function creates a random number between 0 and 1, and multiplying that number by 100 gives us a number between 0 and 100. The INT function at the beginning gives us an integer (drops off any numbers to the right of the decimal point).
Since our data is about the number of "deliveries," we need an integer/whole number since it’s not possible to have half of a delivery. Here’s what our data looks like, but as Excel generates random numbers, the chances that two datasets are the same are slim.
Column B
Now, we can begin creating a chart of our data. Let’s take a moment to save our workbook as "deliveries.xlsx." Note that when you save the file, Excel will regenerate all the random numbers in Column B. In other words, your data will change, but this is okay, because we’re merely using the data to practice making charts.
If you’d like to work through the tutorial with the same data, here’s the solution: Select Cells B2:B32.
Copy Data
Then, either right-click and choose Copy or press Ctrl-C on the keyboard. Leave the data selected and right-click and choose Paste Special, and in the Paste Special dialog box, choose "Values" and then click OK.
Values
If you were to merely paste the contents of the cells (using Ctrl-V, for example), you would paste the RAND() formula we created, and this would regenerate random numbers again. After the Paste Special operation, if you look in any cell and in the formula bar, you’ll see only a number, not the RAND() formula.
Copy and Paste
5. There are many ways to create charts in Excel. The following example is only one way. If you have a preferred approach, use that approach. It’s the end result that is important, rather than which icons you click to get there.
First, let’s try selecting both columns, including the labels, so select A1:B32 and click Chart.
From the Insert Tab, click the down arrow next to 2-D Line chart and choose the most basic chart.
Line Chart
Here is the result. Your result will probably not look like this:
Deliveries Every Other Day
Excel tries to make educated guesses at what the labels are and what the data might be. So the label in Cell B1 becomes the title of the chart. The dates are on the X-axis and the values are on the Y-axis. Excel has done a good job at interpreting our data, but this is not always the case, particularly as data becomes more complex. Once again, this is the role of the data analyst to correct mistakes in visualization or presentation. Note that with the default size of the chart, the X-axis for dates is showing only every other day, although the chart line does show every day.
We can resize the chart in order to reveal all the dates, but the chart is larger.
Daily Deliveries
Note the overall shape of the chart remains the same, even if we reduce the size and even fewer dates appear on the X-axis.
Here, we’re showing only every 7 days:
Deliveries by Week
6. In this tutorial, we examined only one type of chart and with one single variable. We encourage you to experiment with other types of charts and other data sets.
The IF Statement in Excel
The basic IF statement in Excel works like this:
=IF(logic_test, value_if true, value_if_false)
So using our data, but not EXACTLY the same IF statement that is required in the assignment, here's an example. Let's say that taxes are higher at the Airport location versus the Downtown location. Here are a few rows of our data:
Data for IF Statement
In Column G, we can start our IF statement.
=IF([@Location] = "Airport", 8%, 6%)
=IF([Location] = "Airport", 8%, 6%) should also work here.
The @ symbol is optional here, but why do we use it? Because it tells Excel that we want to use a "named" column, in this case Location. But Excel will also give us a prompt, a drop-down menu, as below. (Depending on your version of Excel, the drop-down box may show up without the @, after you type the first bracket [ ).
If you ever get an error that the "name" you type in is invalid but it looks correct, you may have a space before your name, which is often difficult to see. Excel doesn't like that. Use the prompt and Excel will (hopefully) fix things for you.
IF Statements - Location
Back to the IF statement: =IF([@Location] = "Airport", 8%, 6%)
We read this as If the Location is Airport, then Taxes are 8%, otherwise 6%. (This works because there are only two choices.) Our result in Column G (Taxes) is:
IF Statement - Location Example
(Note: If Column G is formatted as Currency, this will show up as $0 for all cells.)
Looks good. We've associated .08 with Airport and .06 with Downtown.
We could create another column and multiply Revenue times Taxes to get a $ amount. But to save space, let's continue our IF statement:
=IF([@Location] = "Airport", 8%, 6%)*[
That gives us this drop-down box (note that we didn't need the @ symbol).
IF Statement - Revenue
Simply select Revenue, and close the bracket with ] for the result:
IF Statement - Revenue Example
Note the formula and the value in Column G, Taxes.
Now the formula says: If the Location is Airport, then Taxes are 8%, otherwise 6%. Whatever that result is, multiply it by the Revenue value in this row and give the result.
All cells in Column G Taxes should be populated with the proper formula and data. All we need to do now is change the "number type" to Currency (important). (Your data may already be in Currency format, in which case, you're okay).
To change to the Currency number type, select all the data in Column G, choose the drop-down box in the Number area in the ribbon, and choose Currency:
Currency Type
Results of Sample IF Statement
Now, apply these same ideas to the assignment to determine overhead.