The cost approach is a real estate valuation method that estimates the price a buyer should pay for a piece of property is equal the cost to build an equivalent building. In the cost approach, the property's value is equal to the cost of land, plus total costs of construction, less depreciation. It yields the most accurate market value for when a property is new than through alternative methods. The cost approach is one of three valuation methods for real estate; the others being the income approach and the comparable approach.
Instead of focusing on the prices other, similar homes in the area are selling for, or a property’s ability to generate income, the coast approach method values real estate by calculating how much the building would cost today if it were destroyed and needed to be replaced from start to finish. It also factors in how much the land is worth and makes deductions for any loss in value, otherwise known as its depreciation. The logic behind the cost approach is that it makes little sense for buyers to pay more for a property than what it would cost to build from scratch. There are two main types of cost approach appraisals:
When all estimates have been gathered, the cost approach is calculated in the following way: cost – depreciation + land worth = value of the property. The cost approach can be less reliable than the income and comparable methodologies in practice. It requires certain assumptions, including taking for granted that there is enough available land for the buyer to build an identical property. Moreover, if comparable vacant land is not available, the value must be estimated, which makes the appraisal less accurate. The lack of similar building materials also reduces the accuracy of the appraisal and increases room for subjectivity. Calculating depreciation on older property is not straightforward and easily measurable, either. Despite these limitations, there are a few cases where the cost approach can be useful and even necessary. Valuing the various components of real estate separately is especially helpful when dealing with property that is new or differs from others in unique ways. The cost approach is required and sometimes is the only way to determine the value of exclusive-use buildings, such as libraries, schools or churches. These resources generate little income and are not often marketed, which invalidates the income and comparable approaches. The cost approach is often used for new construction, too. Construction lenders require cost approach appraisals because any market value or income value is dependent upon project standards and completion. Projects are reappraised at various stages of construction to enable the release of funds for the next stage of completion. Insurance appraisals tend to use the cost approach when underwriting homeowners' policies or considering claims because only the value of improvements is insurable and land value is separated from the total value of the property. The choice between depreciated value and full replacement or reproduction value is the determining factor for the evaluation. Finally, the cost approach is occasionally relied on to value commercial property, such as office buildings, retail stores, and hotels. The income approach is the main method used here, although a cost approach may be implemented when design, construction, functional utility or grade of materials require individual adjustments. Most residential appraisals do not use the cost approach. Instead, sales comparisons usually drive market valuations of these types of properties. When a cost approach appraisal comes in below market pricing, it can be a sign of an overheated market. Conversely, regular evaluations above market pricing may signal a buying opportunity. An exception is if the property is under-improved or over-improved for its neighborhood. In this case, an accurate estimation of the value of improvements adds to the precision of the determination of value, which is not possible using only the comparable approach.
The use of the argument, conventionally called self isn't as hard to understand, as is why is it necessary? Or as to why explicitly mention it? That, I suppose, is a bigger question for most users who look up this question, or if it is not, they will certainly have the same question as they move forward learning python. I recommend them to read these couple of blogs: 1: Use of self explained Note that it is not a keyword.
2: Why do we have it this way and why can we not eliminate it as an argument, like Java, and have a keyword instead Another thing I would like to add is, an optional self argument allows me to declare static methods inside a class, by not writing self. Code examples: class MyClass(): def staticMethod(): print "This is a static method" def objectMethod(self): print "This is an object method which needs an instance of a class, and that is what self refers to"PS:This works only in Python 3.x. In previous versions, you have to explicitly add @staticmethod decorator, otherwise self argument is obligatory. Planning
The system request and feasibility analysis are presented to an information systems approval committee (sometimes called a steering committee), which decides whether the project should be undertaken. 2. Once the project is approved, it enters project management. During project management, the project manager creates a workplan, staffs the project, and puts techniques in place to help the project team control and direct the project through the Information system projects are usually complicated.They require a significant time, effort. and economic investment The problems to be solved are frequently stated vaguely. which means that the Initial envisioned solution may be premature. For these reasons, system projects should be carefully planned. System Initiation establishes project scope and the problem solving plan.Thus, we see that system Initiation establishes the project scope,goals, schedule, and budget required to solve the problem or opportunity represented by the project. Project scope defines the area of the business to be addressed by the project and the goals to be achieved. Scope and goals ultimately Impact the resource committmemts. namely. schedule and budget, that must be made to successfully complete the project.. By establishing a project schedtde and budget against the inittal scope and goals, you also establish a baseline against which all stakeholders can accept the reality that any fut chaure changes In scope or goals wll impact the schedule and budget. The Planning Phase is the fundamental two-step process of understanding why an information system should be developed and creating a plan for how the project team will develop it. The deliverables from both steps are combined into the project plan, CHECKLIST for PLANNING STAGE Analysis This phase has three steps: The system proposal is the initial deliverable that describes what business requirements the new system should meet. Because it is really the first step in the design of the new system, some experts argue that it is inappropriate to use the term analysis as the name for As such, the business area (scope of the project- as defined during system Initiation) may be studied and analyzed to gain a more detailed understanding of what works, what doesn't, and what"s needed. system analysis requires working with system users to clearly define business requirements and expectations for any new system that IS to be purchased or developed. Also. business priorities may need to be established In the event that schedule and budget are insufficient to accomplish all that is desired, CHECKLIST for ANALYSIS STAGE Performing Requirements Determination In many ways, the requirements determination step is the single most critical step of the entire SDLC. It is here that the major elements of the system first begin to emerge. During requirements determination, the system is easy to change because little work has been done yet. As the system moves through the subsequent phases in the SDLC, it becomes harder and harder to return to requirements determination and make major changes because of all of the rework that is involved.
What Is a Requirement? Before we continue, we want to stress that there is no black-and-white line dividing a business requirement and a system requirement—and some companies use the terms interchangeably. The important thing to remember is that a requirement is a statement of what the system must do, and requirements will change over time as the project moves from analysis to design to implementation. Requirements evolve from detailed statements of the business capabilities that a system should have to detailed statements of the technical way in which the capabilities will be implemented in the new system. Requirements can be either functional or nonfunctional in nature. A functional requirement relates directly to a process the system has to perform or information it needs to contain. For example, a process-oriented functional requirement would be that the system must have the ability to search for available inventory. An information-oriented functional requirement would be that the system must include actual and budgeted expenses. (See Table below.) Functional requirements flow directly into the next steps of the analysis process (use cases, process models, data model) because they define the functions that the system needs to have. Nonfunctional requirements refer to behavioral properties that the system must have, such as performance and usability. The ability to access the system through a Web browser would be considered a nonfunctional requirement. Nonfunctional requirements may influence the rest of the analysis process (use cases, process models, and data model), but often do so only indirectly; nonfunctional requirements are primarily used in the design phase when decisions are made about the user interface, the hardware and software, and the system’s underlying architecture. Table below lists different kinds of nonfunctional requirements and examples of each kind. Notice that the nonfunctional requirements describe a variety of characteristics regarding the system: operational, performance, security, and cultural and political. These characteristics do not describe business processes or information, but they are very important in understanding what the final system should be like. For example, the project team needs to know whether a system must be highly secure, requires subsecond response time, or has to reach a multilingual customer base. These requirements will affect design decisions that will be made in the design phase, particularly architecture design. The goal at this point is to identify any major issues. As stated earlier and shown in Figure, the two parts to systems analysis are determining requirements and structuring requirements. We address these as two separate steps, but you should consider these steps as somewhat parallel and repetitive. For example, as you determine some aspects of the current and desired system(s), you begin to structure these requirements or to build prototypes to show users how a system might behave. Inconsistencies and deficiencies discovered through structuring and prototyping lead you to explore further the operation of the current system(s) and the future needs of the organization. PART-I: Determining Requirements
Deliverables and Outcomes The deliverables summarized in the Table contain the information you need for systems analysis. In addition, in your information gathering, you need to understand the following components of an organization:
Such a large amount of information must be organized in order to be useful, which is the purpose of the next part of systems analysis—requirements structuring. Requirements Structuring Collection of information is at the core of systems analysis. At the outset, you must collect information about the information systems that are currently in use. You need to find out how users would like to improve the current systems and organizational operations with new or replacement information systems.
I - Interviewing and Listening
First, prepare thoroughly before the interview. Set up an appointment at a time and for a duration that is convenient for the interviewee. The general nature of the interview should be explained to the interviewee in advance. You may ask the interviewee to think about specific questions or issues, or to review certain documentation to prepare for the interview. Spend some time thinking about what you need to find out, and write down your questions. Do not assume that you can anticipate all possible questions. You want the interview to be natural and, to some degree, you want to direct the interview spontaneously as you discover what expertise the interviewee brings to the session.
The first page of the sample interview guide contains a general outline of the interview. Besides basic information on who is being interviewed and when, list major objectives for the interview. These objectives typically cover the most important data you need to collect, a list of issues on which you need to seek agreement (e.g., content for certain system reports), and which areas you need to explore. Also, include reminder notes to yourself on key information about the interviewee (e.g., job history, known positions taken on issues, and role with current system). This information helps you to be personal, shows that you consider the interviewee important, and may assist in interpreting some answers. Also included is an agenda with approximate time limits for different sections of the interview. You may not follow the time limits precisely, but the schedule helps you cover all areas during the time the interviewee is available. Space is also allotted for general observations that do not fit under specific questions and for notes taken during the interview about topics skipped or issues raised that could not be resolved.
Choosing Interview Questions You need to decide on the mix and sequence of open-ended and closed-ended questions to use. Open-ended questions are usually used to probe for information when you cannot anticipate all possible responses or when you do not know the precise question to ask. The person being interviewed is encouraged to talk about whatever interests him or her within the general bounds of the question. An example is, “What would you say is the best thing about the information system you currently use to do your job?” or “List the three most frequently used menu options.” You must react quickly to answers and determine whether any followup questions are needed for clarification or elaboration. Sometimes body language will suggest that a user has given an incomplete answer or is reluctant to provide certain information. If so, a follow-up question might result in more information. One advantage of open-ended questions is that previously unknown information can surface. You can then continue exploring along unexpected lines of inquiry to reveal even more new information. Open-ended questions also often put the interviewees at ease because they are able to respond in their own words using their own structure. Open-ended questions give interviewees more of a sense of involvement and control in the interview. A major disadvantage of open-ended questions is the length of time it can take for the questions to be answered. They also can be difficult to summarize. Closed-ended questions provide a range of answers from which the interviewee may choose. Here is an example:Which of the following would you say is the one best thing about the information system you currently use to do your job (pick only one)?
Closed-ended questions work well when the major answers to questions are well known. Another plus is that interviews based on closed-ended questions do not necessarily require a large time commitment—more topics can be covered. Closed-ended questions can also be an easy way to begin an interview and to determine which line of open-ended questions to pursue. You can include an “other” option to encourage the interviewee to add unexpected responses. Like objective questions on an examination, closed-ended questions can follow several forms, including these choices:
Interview Guidelines Firstly, with either open- or closed-ended questions, do not phrase a question in a way that implies a right or wrong answer. Respondents must feel free to state their true opinions and perspectives and trust that their ideas will be considered. Avoid questions such as “Should the system continue to provide the ability to override the default value, even though most users now do not like the feature?” because such wording predefines a socially acceptable answer. Secondly, listen carefully to what is being said. Take careful notes or, if possible, record the interview on a tape recorder (be sure to ask permission first!). The answers may contain extremely important information for the project. Also, this may be your only chance to get information from this particular person. If you run out of time and still need more information from the person you are talking to, ask to schedule a follow-up interview. Thirdly, once the interview is over, go back to your office and key in your notes within forty-eight hours with a word processing program such as Microsoft Word. For numerical data, you can use a spreadsheet program such as Microsoft Excel. If you recorded the interview, use the recording to verify your notes. After forty-eight hours, your memory of the interview will fade quickly. As you type and organize your notes, write down any additional questions that might arise from lapses in your notes or ambiguous information. Separate facts from your opinions and interpretations. Make a list of unclear points that need clarification. Call the person you interviewed and get answers to these new questions. Use the phone call as an opportunity to verify the accuracy of your notes. You may also want to send a written copy of your notes to the person you interviewed to check your notes for accuracy. Finally, make sure to thank the person for his or her time. You may need to talk to your respondent again. If the interviewee will be a user of your system or is involved in some other way in the system’s success, you want to leave a good impression. Fourthly, be careful during the interview not to set expectations about the new or replacement system unless you are sure these features will be part of the delivered system. Let the interviewee know that there are many steps to the project. Many people will have to be interviewed. Choices will have to be made from among many technically possible alternatives. Let respondents know that their ideas will be carefully considered. Because of the repetitive nature of the systems development process, however, it is premature to say now exactly what the ultimate system will or will not do. Fifthly, seek a variety of perspectives from the interviews. Talk to several different people: potential users of the system, users of other systems that might be affected by this new system, managers and superiors, information systems staff, and others. Encourage people to think about current problems and opportunities and what new information services might better serve the organization. You want to understand all possible perspectives so that later you will have information on which to base a recommendation or design decision that everyone can accept. II - Directly Observing Users III - Analyzing Procedures and Other Documents
One type of useful document is a written work procedure for an individual or a work group. The procedure describes how a particular job or task is performed, including data and information used and created in the process of performing the job. For example, the procedure shown in Figure below includes data (list of features and advantages, drawings, inventor name, and witness names) required to prepare an invention disclosure. It also indicates that besides the inventor, the vice president for research, the department head, and the dean must review the material and that a witness is required for any filing of an invention disclosure. These insights clearly affect what data must be kept, to whom information must be sent, and the rules that govern valid forms. Procedures are not trouble-free sources of information, however. Sometimes your analysis of several written procedures reveals a duplication of effort in two or more jobs. You should call such duplication to the attention of management as an issue to be resolved before system design can proceed. That is, it may be necessary to redesign the organization before the redesign of an information system can achieve its full benefits. Another problem you may encounter is a missing procedure. Again, it is not your job to create a document for a missing procedure—that is up to management. A third and common problem happens when the procedure is out of date, which you may realize in your interview of the person responsible for performing the task described in the procedure. Once again, the decision to rewrite the procedure so that it matches reality is made by management, but you may make suggestions based upon your understanding of the organization. A fourth problem often encountered is that the formal procedures may contradict information you collected from interviews, questionnaires, and observation about how the organization operates and what information is required. As in the other cases, resolution rests with management. All of these problems illustrate the difference between formal systems and informal systems. A formal system is one an organization has documented; an informal system is the way in which the organization actually works. Informal systems develop because of inadequacies of formal procedures and individual work habits, preferences, and resistance to control. It is important to understand both formal and informal systems because each provides insight into information requirements and what is necessary to convert from present to future systems.
A printed form may correspond to a computer display that the system will generate for someone to enter and maintain data or to display data to online A third type of useful document is a report generated by current systems. As the primary output for some types of systems, a report enables you to work backward from the information on the report to the data that must have been necessary to generate it. Figure below presents an example of a common financial accounting report, the statement of cash flows. You analyze such reports to determine which data need to be captured over what time period and what manipulation of these raw data is necessary to produce each field on the report. If the current system is computer based, a fourth set of useful documents is one that describes the current information systems—how they were designedand how they work. Several different types of documents fit this description, everything from flowcharts to data dictionaries to user manuals. An analyst who has access to such documents is fortunate because many in-house-developed information systems lack complete documentation. Analysis of organizational documents and observation, along with interviewing and distributing questionnaires, are the methods used most for gathering system requirements. This TABLE below summarizes the comparative features of observation and analysis of organizational documents. Modern Methods for Determining System Requirements In this section, you learn about two modern information-gathering techniques for analysis: joint application design (JAD) and prototyping. These techniques can support effective information collection and structuring while reducing the amount of time required for analysis. The following is a list of typical JAD participants: IS staff: Besides systems analysts, other IS staff, such as programmers, database analysts, IS planners, and data-center personnel, may attend the session. Their purpose is to learn from the discussion and possibly Radical Methods for Determining System Requirements A first step in any BPR effort is to understand what processes need to change, what are the key business processes for the organization. Key business processes are the structured set of measurable activities designed to produce a specific output for a particular customer or market. The important aspect of this definition is that key processes are focused on some type of organizational outcome such as the creation of a product or the delivery of a service. Key business processes are also customer focused. In other words, key business processes would include all activities used to design, build, deliver, support, and service a particular product for a particular customer. BPR, therefore, requires you first to understand those activities that are part of the organization’s key business processes and then to alter the sequence and structure of activities to achieve radical improvements in speed, quality, and customer satisfaction. The same techniques you learned to use for system requirements determination can be applied to discovering and understanding key business processes: interviewing key individuals, observing activities, reading and studying organizational documents, and conducting JAD sessions. Disruptive Technologies
PART-2: Structuring Requirements. In this lessons, we continue our focus on the systems analysis part of the SDLC, which is highlighted in Figure below. Note the two parts to the analysis phase, determining requirements and structuring requirements. We focus on a tool analysts use to structure information— data-flow diagrams (DFDs). Data-flow diagrams allow you to model how data flow through an information system, the relationships among the data flows, and how data come to be stored at specific locations. Data-flow diagrams also show the processes that change or transform data. As the name indicates, a data-flow diagram is a graphical tool that allows analysts (and users) to show the flow of data in an information system. The system can be physical or logical, manual or computer based. In this lesson, you learn the mechanics of drawing and revising data-flow diagrams, as well as the basic symbols and set of rules for drawing them. We also alert you to pitfalls. You learn two important concepts related to data-flow diagrams: balancing and decomposition. At the end of the lesson, you learn how to use data-flow diagrams as part of the analysis of an information system and as a tool for supporting business process reengineering. You also are briefly introduced to a method for modeling the logic inside processes, decision tables. Process Modeling use each structured analysis technique, collectively, these techniques, like dataflow diagrams, have had a significant impact on the quality of the systemsdevelopment process. Modeling a System’s Process The analysis team begins the process of structuring requirements with an abundance of information gathered during requirements determination. As part ofstructuring, you and the other team members must organize the information into a meaningful representation of the information system that exists and of the requirements desired in a replacement system. In addition to modeling the processing elements of an information system and transformation of data in the system, you must also model the structure of data within the system. Analysts use both process and data models to establish the specification of an information system. With a supporting tool, such as a CASE tool, process and data models can also provide the basis for the automatic generation of an information system.
This logical progression of deliverables helps you to understand the existing system. You can then reduce this system into its essential elements to show the way in which the new system should meet its information processing requirements, as they were identified during requirements determination. In later steps in the systems development life cycle, you and other project team members make decisions on exactly how the new system will deliver these new requirements in specific manual and automated functions. Because requirements determination and structuring are often parallel steps, data-flow diagrams evolve from the more general to the more detailed as current and replacement systems are better understood.
Data Flow Diagrams (may be included in Requirements Document) Data Flow Modeling represents the flow of information around a system. Data Flow Diagrams (DFDs) take a ‘top-down’ approach, expanding the system description into more and more detail via a series of ‘levels’, so a set of DFDs will comprise a Context Diagram. DFDs show how information flows around a system, they:
Data-Flow Diagramming Mechanics A data flow diagram is a logical model of the flow of data through a system that shows how the system’s boundaries, processes, and data entities are logically related. Creating a data flow diagram is a process driven task. Consequently, it is relatively easy to overlook key data elements and composites. Balancing a data flow diagram verifies the model’s internal consistency, but does not necessarily reveal missing elements. Attempting to balance a significant logical model without appropriate software (such as CASE software) is at best difficult and can be misleading. Beginners and users often confuse data flow diagrams with process flowcharts. Data-flow diagrams are versatile diagramming tools. With only four symbols, data-flow diagrams can represent both physical and logical information systems. The four symbols used in DFDs represent data flows, data stores, processes, and sources/sinks (or external entities). The set of four symbols we use in this book was developed by Gane and Sarson (1979) and is illustrated in Figure below. A data flow is data that are in motion and moving as a unit from one place in a system to another. A data flow could represent data on a customer order form or a payroll check. It could also represent the results of a query to a database, the contents of a printed report, or data on a data-entry computer display form. A data flow can be composed of many individual pieces of data that are generated at the same time and that flow together to common destinations. A data store is data at rest. A data store may represent one of many different physical locations for data, including a file folder, one or more computer-based file(s), or a notebook. To understand data movement and handling in a system, the physical configuration is not really important. A data store might contain data about customers, students, customer orders, or supplier invoices. A process is the work or actions performed on data so that they are transformed, stored, or distributed. When modeling the data processing of a system, it doesn’t matter whether a process is performed manually or by acomputer.
Using Gane and Sarson’s notation,4 four primary symbols are used to create a data flow diagram (Figures above). A source or destination (sink) is represented by a (shaded) square. Sources and destinations define the system’s boundaries; each one represents a person, organization, or other system that supplies data to the system, gets data from the system, or both. A process, or transform, (a round-cornered rectangle) identifies an activity that changes, moves, or otherwise transforms data. A data store (an open-ended, Using Yourdon7 and DeMarco’s2 notation, sources and sinks are represented as rectangles, processes as circles, and data stores as horizontal rectangles open at both ends (two parallel horizontal lines). Data flows are shown as arrows. There is no symbol for a material flow. All About Data Flow Diagrams (DFDs)This guide provides everything you need to know about data flow diagrams, including definitions, history, and symbols and notations. You'll learn the different levels of a DFD, the difference between a logical and a physical DFD and tips for making a DFD. What is a data flow diagram? A data flow diagram (DFD) maps out the flow of information for any process or system. It uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data inputs, outputs, storage points and the routes between each destination. Data flowcharts can range from simple, even hand-drawn process overviews, to in-depth, multi-level DFDs that dig progressively deeper into how the data is handled. They can be used to analyze an existing system or model a new one. Like all the best diagrams and charts, a DFD can often visually “say” things that would be hard to explain in words, and they work for both technical and nontechnical audiences, from developer to CEO. That’s why DFDs remain so popular after all these years. While they work well for data flow software and systems, they are less applicable nowadays to visualizing interactive, real-time or database-oriented software or systems. Data flow diagrams were popularized in the late 1970s, arising from the book Structured Design, by computing pioneers Ed Yourdon and Larry Constantine. They based it on the “data flow graph” computation models by David Martin and Gerald Estrin. The structured design concept took off in the software engineering field, and the DFD method took off with it. It became more popular in business circles, as it was applied to business analysis, than in academic circles. Also contributing were two related concepts:
Three other experts contributing to this rise in DFD methodology were Tom DeMarco, Chris Gane and Trish Sarson. They teamed up in different combinations to be the main definers of the symbols and notations used for a data flow diagram. Symbols and Notations Used in DFDs Two common systems of symbols are named after their creators:
One main difference in their symbols is that Yourdon-Coad and Yourdon-DeMarco use circles for processes, while Gane and Sarson use rectangles with rounded corners, sometimes called lozenges. There are other symbol variations in use as well, so the important thing to keep in mind is to be clear and consistent in the shapes and notations you use to communicate and collaborate with others. Using any convention’s DFD rules or guidelines, the symbols depict the four components of data flow diagrams.
DFD rules and tips ( Conventions )
Legal and illegal data flows --- All data flows must begin and/or end with a process (Figure below). Data cannot legally flow directly from a source to a destination or between a source/destination and a data store unless they pass through an intermediate process. Data flow linesMultiple data flows between two components can be shown by two data flow lines or by a two-headed arrow. Some analysts use two flow lines whenthe input and output data flows are different and a single two-headed arrow when they are the same. For example, a process that gets data from a store,updates the data, and then sends the same data elements back to the store calls for a two-headed arrow. NamingA process name consists of a verb followed by a noun. By convention, the names of the sources, destinations, and data stores are capitalized, whileprocess names and data flows are shown mixed case. NumberingBy convention, the processes in a level 1 data flow diagram are numbered 1, 2, 3, and so on. The numbers do not imply sequence; they are for reference only.The sub-processes in an exploded data flow diagram are assigned numbers starting with the parent process’s number. For example, level 1 process 4 might be exploded into level 2 processes 4.1, 4.2, 4.3, and so on, while level 2 process 4.3 might be decomposed into level 3 processes 4.3.1, 4.3.2, 4.3.3, and so on.Many analysts use the letter D followed by a number to identify the data stores. For example, in an inventory system, INVENTORY might be D1, SALES might be D2, and so on. Some analysts identify the sources and destinations as well. Duplicate symbolsSymbols can be repeated if doing so makes the diagram easier to read. For example, duplicating a symbol might be clearer than drawing lengthy orcrossing data flows. Duplicate symbols are usually marked in some way; for example, source/destinations might be marked with a slash in the lower-leftcorner and data stores might be marked with an extra vertical line. DFD levels and layers: From context diagrams to pseudocode A data flow diagram can dive into progressively more detail by using levels and layers, zeroing in on a particular piece. DFD levels are numbered 0, 1 or 2, and occasionally go to even Level 3 or beyond. The necessary level of detail depends on the scope of what you are trying to accomplish.
Using DFD layers, the cascading levels can be nested directly in the diagram, providing a cleaner look with easy access to the deeper dive. By becoming sufficiently detailed in the DFD, developers and designers can use it to write pseudocode, which is a combination of English and the coding language. Pseudocode facilitates the development of the actual code. Examples of how DFDs can be used Data flow diagrams are well suited for analysis or modeling of various types of systems in different fields. DFD in software engineering: This is where data flow diagrams got their main start in the 1970s. DFDs can provide a focused approached to technical development, in which more research is done up front to get to coding. DFD in business analysis: Business analysts use DFDs to analyze existing systems and find inefficiencies. Diagramming the process can uncover steps that might otherwise be missed or not fully understood. DFD in business process re-engineering: DFDs can be used to model a better, more efficient flow of data through a business process. BPR was pioneered in the 1990s to help organizations cut operational costs, improve customer service and better compete in the market. DFD in agile development: DFDs can be used to visualize and understand business and technical requirements and plan the next steps. They can be a simple yet powerful tool for communication and collaboration to focus rapid development. DFD in system structures: Any system or process can be analyzed in progressive detail to improve it, on both a technical and non-technical basis. DFD vs. Unified Modeling Language (UML) While a DFD illustrates how data flows through a system, UML is a modeling language used in Object Oriented Software Design to provide a more detailed view. A DFD may still provide a good starting point, but when actually developing the system, developers may turn to UML diagrams such as class diagrams and structure diagrams to achieve the required specificity. Logical DFD vs. Physical DFD These are the two categories of a data flow diagram. A Logical DFD visualizes the data flow that is essential for a business to operate. It focuses on the business and the information needed, not on how the system works or is proposed to work. However, a Physical DFD shows how the system is actually implemented now, or how it will be. For example, in a Logical DFD, the processes would be business activities, while in a Physical DFD, the processes would be programs and manual procedures. Design This collection of deliverables (architecture design, interface design, database and file specifications, and program design) is the system specification that is handed to the programming team for implementation. At the end of the design phase, the feasibility analysis and project plan are reexamined and revised, and another decision is made by the project sponsor and approval committee about whether to terminate the project or continue The system design phase develops the technical blueprints and specifications required to Implement the final solution.These blueprints and speclflcations wlll he used to Implement required databases, programs, user interfaces, and networks for the information system. In the case where we choose to purchase software Instead of build it, the blueprints specify how the purchased software wlll he Integrated Into the business and with other Information systems. The design phase decides how the system will operate. This collection of deliverables is the system specification that is handed to the programming team for implementation. At the end of the design phase, the feasibility analysis and project plan are reexamined and revised, and another decision is made by the project sponsor and approval committee about whether to terminate the project or continue. CHECKLIST for DESIGN STAGE Implementation This phase has three steps: System implementatlon constructs the new lnfonnation system and puts lt Into operation. It is during 'system Implementation that any new hardware and system software are lnstalled and tested. Any purchased applicatlon software and databases are Installed and configured. And any custom software and databases are constructed using the technicalblueprints and specifications developed during system design. The final phase in the SDLC is the implementation phase, during which the system is actually built (or purchased, in the case of a packaged software design). At the end of implementation, the final system is put into operation and supported and maintained. CHECKLIST for IMPLEMENTATION STAGE SDLC - SUMMARY TABLE For now, there are two important points to understand about the SDLC. First, you should get a general sense of the phases and steps that IS projects move through and some of the techniques that produce certain deliverables. Second, it is important to understand that the SDLC is a process of gradual refinement. The deliverables produced in the analysis phase provide a general idea of the shape of the new system. These deliverables are used as input to the design phase, which then refines them to produce a set of deliverables that describes in much more detailed terms exactly how the system will be built. These deliverables in turn are used in the implementation phase to produce the actual system. Each phase refines and elaborates on the work done previously. CONCEPTS Consumer electronics is a very competitive business. What might be the success story of the year one year is aforgotten item two years later. Rapid product commoditization makes the consumer electronic marketplace verycompetitive. Getting the right products to market at the right time with the right components is an ongoing challenge for telecommunications and consumer electronic goods companies. Questions 2. Staying one step ahead of competitors requires a corporate strategy and the support of informationsystems. How can information systems and systemsanalysts contribute to an aggressive corporate strategy?Project Identification and Initiation The project sponsor is someone who recognizes the strong business need for a system and has an interest in seeing the system succeed. He or she will work throughout the SDLC to make sure that the project is moving in the right direction from the perspective of the business. The project sponsor serves as the primary point of contact for the system. Usually, the sponsor of the project is from a business function such as marketing, accounting, or finance; however, members of the IT area also can sponsor or cosponsor a project. Once the project sponsor identifies a project that meets an important business need and he or she can identify the business requirements and business value of the system, it is time to formally initiate the project. In most organizations, project initiation begins with a technique called a system request. System Request A system request is a document that describes the business reasons for building a system and the value that the system is expected to provide. The project sponsor usually completes this form as part of a formal system project selection process within the organization. Most system requests include five elements: project sponsor, business need, business requirements, business value, and special issues. (See The business requirements of the project refer to the business capabilities that the system will need to have, and the business value describes the benefits that the organization should expect from the system. Special issues are included on the document as a catchall category for other information that should be considered in assessing the project. For example, the project may need to be completed by a specific deadline. Project teams need to be aware of any special circumstances that could affect the outcome of the system. The completed system request is submitted to the approval committee for consideration. This approval committee could be a company steering committee that meets regularly to make information systems decisions, a senior executive who has control of organizational resources, or any other decision-making body that governs the use of business resources. The committee reviews the system requestand makes an initial determination, based on the information provided, of whether to investigate the proposed project or not. If so, the next step is to conduct a feasibility analysis. Feasibility Analysis Once the need for the system and its business requirements have been defined, the approval committee may authorize the systems analyst to create a more detailed business case to better understand the opportunities and limitations associated with the proposed project. Feasibility analysis guides the organization in determining whether to proceed with a project. Feasibility analysis also identifies the important risks associated with the project that must be addressed if the project is approved. As with the system request, each organization has its own process and format for the feasibility analysis, but most include techniques to assess three areas: technical A feasibility analysis is then used to provide more detail about the risks associated with the proposed system, and it includes technical, economic, and organizational feasibilities. The technical feasibility focuses on whether the system can be built, by examining the risks associated with the users’ and analysts’ familiarity with the application, familiarity with the technology, project size, and compatibility with existing systems. The economic feasibility addresses whether the system should be built. It includes a cost–benefit analysis of development costs, operational costs, tangible benefits, and intangible costs and benefits. Finally, the organizational feasibility analysis assesses how well the system will be accepted by its users and incorporated into the ongoing operations of the organization. The strategic alignment of the project and a stakeholder analysis can be used to assess this feasibility dimension. Technical Feasibility misunderstood. The extent to which the project is highly integrated with other systems (which is typical of large systems) can cause problems, because complexity is increased when many systems must work together. Economic Feasibility cost–benefit analysis; each step will be described in the upcoming sections.
and benefits that may be included. The costs and benefits can be broken down into four categories: (1) development costs, (2) operational costs, (3) tangible benefits, and (4) intangibles. Development costs are those tangible expenses that are incurred during the creation of the system, such as salaries for the project team, hardware and software expenses, consultant fees, training, and office space and equipment. Development costs are usually thought of as one-time costs. Operational costs are those tangible costs that are required to operate the system, such as the salaries for operations staff, software licensing fees, equipment upgrades, and communications charges. Operational costs are usually thought of as ongoing costs. Tangible benefits include revenue that the system enables the organization to collect, such as increased sales. In addition, the system may enable the organization to avoid certain costs, leading to another type of tangible benefit: cost savings. For example, if the system produces a reduction in needed staff, lower salary costs result. Similarly, a reduction in required inventory levels due to the new system produces lower inventory costs. In these examples, the reduction in costs is a tangible benefit of the new system. Assign Values to Costs and Benefits Once the types of costs and benefits have been identified, you will need to assign specific dollar values to them. This may seem impossible—How can someone quantify costs and benefits that haven’t happened yet? And how can those predictions be realistic? Although this task is very difficult, you have to do the best you can to come up with reasonable numbers for all of the costs and benefits. Only then can the approval committee make an educated decision about whether or not to move ahead with the project. Figure below shows costs and benefits along with assigned dollar values. In this example, for simplicity, all development costs are assumed to occur in the current year 2009, and all benefits and operational costs are assumed to begin when the system is implemented at the start of 2010, and continue through 2013. Notice that the customer service intangible benefit has been quantified, based on a decrease in customer complaint phone calls. The intangible benefit of being able to offer services that competitors currently offer was not quantified, but it was listed so that the approval committee will consider the benefit when assessing the system’s economic feasibility. Determine Cash Flow A formal cost–benefit analysis usually contains costs and benefits over a selected number of years (usually, three to five years) to show cash flow over time. (See Figure Above.) With this cash flow method, the years are listed across the top of the spreadsheet to represent the period for analysis, and numeric values are entered in the appropriate cells within the spreadsheet’s body. Sometimes, fixed amounts are entered into the columns. For example, Figure Above lists the same amount for customer complaint calls, inventory costs, hardware, and software for all four years. Often, amounts are augmented by some rate of growth to adjust for inflation or business improvements, as shown by the 6% increase that is added to the sales numbers in the sample spreadsheet. Similarly, labor costs are assumed to increase at a 4% rate each year. Finally, totals are added to determine what the overall benefits will be, and the higher the overall total, the more feasible the solution becomes in terms of its economic feasibility Determine Return on Investment The return on investment (ROI) is a calculation that measures the average rate of return earned on the money invested in the project. A high ROI suggests that the project’s benefits far outweigh the project’s cost. ROI is a simple calculation that divides the project’s net benefits (total benefits . total costs) by the total costs.. Although ROI is commonly used in practice, it suffers from several important limitations and should not be used as the only measure of a project’s worth. Figure Above includes the ROI calculation for our example project. Determine Break-Even Point Another common approach to measuring a project’s worth is the break-even point. The break-even point (also called the payback method) is defined as the number of years it takes a firm to recover its original investment in the project from net cash flows. As shown in FigureABove, the project’s net cash flows “pay back” the initial investment during the fourth year; this is the year in which the cumulative cash flow figure becomes positive. Dividing the difference between that year’s cash flow and its cumulative cash flow by that year’s cash flow determines how far into the year the break-even will occur. Determine Net Present Value The simple cash flow method, return on investment, and break-even point, as shown in Figure 1-10, all share the weakness of not recognizing the time value of money. In these analyses, the timing of cash flows is ignored. A dollar in year 3 of the project is considered equal to a dollar in year 1. Net present value (NPV) is used to compare the present value of all cashinflows and outflows for the project in today’s dollar terms. The key to understanding present values is to recognize that if you had a dollar today, you could invest it and receive some rate of return on your investment. Therefore, a dollar received in the future is worth less than a dollar received today, since you forgo that potential return. Appendix 1A shows the present value of a dollar received in the future for different numbers of years and rates of return. If you have a friend who owes you a dollar today, but instead gives you that dollar in three years—you’ve been had!Given a 10% rate of return on an investment, you’ll be receiving the equivalent of 75 cents in today’s terms. In Figure Below, the present value of the costs and benefits has been calculated and added to our example spreadsheet, using a 6% rate of return. The NPV is simply the difference between the total present value of the benefits and the total present value of the costs. As long as the NPV is greater than zero, the project is considered economically feasible. Organizational Feasibility The final technique used for feasibility analysis is to assess the organizational feasibility of the system: how well the system ultimately will be accepted by its users and incorporated into the ongoing operations of the organization. There are many organizational factors that can have an impact on the project, and seasoned developers know that organizational feasibility can be the most difficult feasibility dimension to assess. In essence, an organizational feasibility analysis attempts to answer the question “If we build it, will they come?” One way to assess the organizational feasibility of the project is to understand how well the goals of the project align with business objectives. Strategic alignment is the fit between the project and business strategy—the greater the alignment, the less risky the project will be, from an organizational feasibility perspective. For example, if the marketing department has decided to become more customerfocused, then a CRM project that produces integrated customer information would have strong strategic alignment with marketing’s goal. Many IT projects fail when the IT department initiates them, because there is little or no alignment with business-unit or organizational strategies. A second way to assess organizational feasibility is to conduct a stakeholder analysis. 5 A stakeholder is a person, group, or organization that can affect (or can be affected by) a new system. In general, the most important stakeholders in the introduction of a new system are the project champion, system users, and organizational management (see Figure Below), but systems sometimes affect other stakeholders as well. For example, the IS department can be a stakeholder of a system because IS jobs or roles may be changed significantly after the system’s implementation. One key stakeholder—outside of the champion, users, and management—in Microsoft’s project that embedded Internet Explorer as a standard part of Windows was the U.S. Department of Justice. Stakeholders for Organizational Feasibility The champion is a high-level executive and is usually, but not always, the project sponsor who created the system request. The champion supports the project by providing time and resources (e.g., money) and by giving political support within the organization by communicating the importance of the system to other organizational decision makers. More than one champion is preferable because ifthe champion leaves the organization, the support could leave as well. While champions provide day-to-day support for the system, organizational management also needs to support the project. Such management support conveys to the rest of the organization the belief that the system will make a valuable contribution and that necessary resources will be made available. Ideally, management should encourage people in the organization to use the system and to accept the many changes that the system will likely create. A third important set of stakeholders is the system users who ultimately will use the system once it has been installed in the organization. Too often, the project team meets with users at the beginning of a project and then disappears until after the system is created. In this situation, rarely does the final product meet the expectations and needs of those who are supposed to use it, because needs change and users become savvier as the project progresses. User participation should be promoted throughout the development process to make sure that the final system will be accepted and used, by getting users actively involved in the development of the system (e.g., performing tasks, providing feedback, and making decisions). The final feasibility study helps organizations make wiser investments regarding IS because it forces project teams to consider technical, economic, and organizational factors that can affect their projects. It protects IT professionals from criticism by keeping the business units educated about decisions and positioned as the leaders in the decision-making process. Remember—the feasibility study should be revised several times during the project at points where the project team makes critical decisions about the system (e.g., before the design begins). The final feasibility study can be used to support and explain the critical choices that are made throughout the SDLC. Applying the Concepts at Tune Source Figure Below contains the summary spreadsheet for the Tune Source digital music download project. As shown, Carly’s original sales projections are used for the first year’s revenues. Sales are expected to grow 4% in the second year and 3% in the third year. Cost projections are based on Jason’s assumptions about the time it will take to develop the system and the resources that will be required. Operating costs have a considerable new labor component because a new business unit is being created, requiring additional staff.* Figure Below incorporates several of the financial analysis techniques we have discussed. The rows marked A and C summarize the annual benefits and costs, respectively. The row marked D shows the yearly net benefits (total benefits . total costs). The ROI calculation shows that this project is expected to return 280% on the investment, calculated by dividing the total benefits in row A by the total costs in row C. Row E shows the cumulative cash flow for the project, and this is used to determine the break-even point. As seen in Figure Below, the project fully recovers its costs in the first year, since the cumulative net cash flow is positive in the first year. The row marked B computes the present valueof each year’s total benefits, and the row marked F computes the present value of each year’s total costs. These values are used in the NPV calculation. The total present value of costs is subtracted from the total present value of benefits, and the result is a large positive number, indicating the high desirability of this investment. This spreadsheet shows that this project can add significant business value even if the underlying assumptions prove to be overly optimistic. |