Friday, July 24, 2009

How to make a DFD

Data Flow Diagrams (DFDs)

A Data Flow Diagram (DFD) is also known as a Process Model. Process Modeling is an analysis technique used to capture the flow of inputs through a system (or group of processes) to their resulting output. The model is fairly simple in that there are only four types of symbols – process, dataflow, external entity, data store. An example can be found on page 146 in our textbook. The Gane and Sarson Symbol technique is employed there.

Process Modeling is used to visually represent what a system is doing. It is much easier to look at a picture and understand the essence than to read through verbiage describing the activities. System Analyst after talking with various users will create DFD diagrams and then show them to users to verify that their understanding is correct. The process models can be created to represent an existing system as well as a proposed system.

Process – An activity or a function that is performed for some specific reason; can be manual or computerized; ultimately each process should perform only one activity

Data Flow – single piece of data or logical collection of information like a bill

Data Store – collection of data that is permanently stored

External Entity – A person, organization, or system that is external to the system but interacts with it

Be aware of the basic rules for Process Modeling:

  1. A series of data flows always starts or ends at an external agent and starts or ends at a data store. Conversely, this means that a series of data flows can not start or end at a process.
  2. A process must have both data inflows and outflows.
  3. All data flows must be labeled with the precise data that is being exchanged.
  4. Process names should start with a verb and end with a noun.
  5. Data flows are named as descriptive nouns.
  6. A data store must have at least one data inflow.
  7. A data flow can not go between an external agent and a data store, but a process must be in between.
  8. A data flow can not go between to external agents, but a process must be in between.
  9. A data flow can not go between to data stores, but a process must be in between.
  10. External agents and data flows can be repeated on a process model in order to avoid lines crossing, but do not repeat processes.

A Context Model is done first when completing the process models for a system. It represents the system with a single process and then shows the external agents with which the system interacts. A context diagram is often named the name of the system and does not start with a verb as do other processes. Typically data stores are not part of a context model since these would be internal to the system. By creating the context model first the system analyst focuses on the outward communications and exchanges and later the inward communications and exchanges.

After the context model is created the process is exploded to the next level to show the major processes in the system. Depending upon the complexity of the system each of these processes can also be exploded into their own process model. This continues until the goal of each process accomplishing a single function is reached. Because of this approach the context model is referred to as Level 0 (Zero) DFD, the next as Level 1 DFD, etc.

To better understand this technique let’s look at an example case and create a Level 0 and maybe a Level 1 process models for it.

CASE:

The purpose of the green acres real estate system is to assist agents as they sell houses. Sellers contact the agency, and an agent is assigned to help the seller complete a listing request. Information about the house and lot taken from that request is stored in a file. Personal information about the sellers is copied by the agent into a sellers file.

When a buyer contacts the agency, he or she fills out a buyer request. Every two weeks, the agency sends prospective buyers area real estate listings and an address cross reference listing containing actual street addresses. Periodically, the agent will find a particular house that satisfies most or all of a specific buyer’s requirements, as indicated in the buyer’s requirements statement distributed weekly to all agents. The agent will occasionally photocopy a picture of the house along with vital data and send the multiple listing statements (mls) to the potential buyer.

When the buyer selects a house, he or she fills out an offer that is forwarded through the real estate agency to the seller, who responds with either an offer acceptance or a counteroffer. After an offer is accepted, a purchase agreement is signed by all parties. After a purchase agreement is notarized, the agency sends an appraisal request to an appraiser, who appraises the value of the house and lot. The agency also notifies its finance company with a financing application.

First we will do the context diagram or Level 0 DFD. Start by identifying all the external agents and the data flows from them to the system. You will then need to open Microsoft’s Visio software and select new diagram type of data flow model diagram under the software category.
Select the external interfaces and process and place them on your page.

To determine the data flows it may help to create an Event Response List. For our case it would look something like this.

Use a Data Flow Diagram (DFD) to show the relationships among the business processes within an organization to:

· External systems,

· External organizations,

· Customers,

· Other business processes.

Method

Data flow diagrams are used to describe how the system transforms information. They define how information is processed and stored and identify how the information flows through the processes.

When building a data flow diagram, the following items should be considered:

· Where does the data that passes through the system come from and where does it go,

· What happens to the data once it enters the system (i.e., the inputs) and before it leaves the system (i.e., the outputs),

· What delays occur between the inputs and outputs (i.e., identifying the need for data stores).

STEPS TO DRAW A DATA FLOWDIAGRAM

Steps

· Start from the context diagram. Identify the parent process and the external entities with their net inputs and outputs.

· Place the external entities on the diagram. Draw the boundary.

· Identify the data flows needed to generate the net inputs and outputs to the external entities.

· Identify the business processes to perform the work needed to generate the input and output data flows.

· Connect the data flows from the external entities to the processes.

· Identify the datastores.

· Connect the processes and data stores with data flows.

· Apply the Process Model Paradigm to verify that the diagram addresses the processing needs of all external entities.

· Apply the External Control Paradigm to further validate that the flows to the external entities are correct.

· Continue to decompose to the nth evel DFD. Draw all DFDs at one level before moving to the next level of decomposing detail. You should decompose horizontally first to a sufficient nth level to ensure that the processes are partitioned correctly; then you can begin to decompose vertically.

Tips and Hints

Consider creating a data access model to document the processes that create, update, and delete data in the system.

As an alternative to functional decomposition, consider using a bottom-up approach when the details about the system are well known.

Diversification

DIVERSIFIVATION

Definition
A portfolio strategy designed to reduce exposure to risk by combining a variety of investments, such as stocks, bonds, and real estate, which are unlikely to all move in the same direction. The goal of diversification is to reduce the risk in a portfolio. Volatility is limited by the fact that not all asset classes or industries or individual companies move up and down in value at the same time or at the same rate. Diversification reduces both the upside and downside potential and allows for more consistent performance under a wide range of economic conditions.
Related Research Articles from the InvestorGuide.com University
Stock Strategies
Learn about various strategies for investing in stocks, including the “buy and hold approach,” analyzing market timing, and estimating a company’s potential for growth.
Technical Analysis
Unlike fundamental analysis, technical analysis ignores the company underlying the stock and instead tries to predict price changes by studying the market itself. We examine technical analysis concepts like moving averages, support and resistance, advance/decline lines, relative strength, momentum, and volume.
Choosing a Stock
Which companies should I invest in? Learn how to find a company, gather the research, and do the analysis. Also gives suggestions of things to look for while conducting this process.

FEATURED SPONSOR

Why Diversification?

The two principal objectives of diversification are

1. improving core process execution, and/or

2. enhancing a business unit's structural position.

The fundamental role of diversification is for corporate managers to create value for stockholders in ways stockholders cannot do better for themselves1. The additional value is created through synergetic integration of a new business into the existing one thereby increasing its competitive advantage.

Forms and Means of Diversification

Diversification typically takes one of three forms:

1. Vertical integration - along your value chain

2. Horizontal diversification - moving into new industry

3. Geographical diversification - to open up new markets

Means of achieving diversification include internal development, acquisitions, strategic alliances, and joint ventures. As each route has its own set of issues, benefits, and limitations, various forms and means of diversification can be mixed and matched to create a range of options.

Two Types of Diversification

1. Related

2. Unrelated

THREE FORMS OF DIVERSIFICATION

· Vertical Integration - integrating business along your value chain, both upstream and downstream, so that one efficiently feeds the other

· Horizontal Diversification - moving into more than one industry; the new business usually somehow relates to the existing one, although a few conglomerates instead pursue a strategy of unrelated diversification

Geographical Diversification - moving into new geographical area to overcome limited growth opportunities in the local market and/or to gain global leadership positions

MEANS OF DIVERSIFICATION

Do It Yourself

· Internal R&D projects

· In-company startups - new product/service development inside corporation using the business systems approach to project management

· Spinouts - managing innovative product/service development separately

Do It with Others

· Implementing lifestyle projects through new company formation

· Strategic alliances - joint R&D and implementation

· Acquisitions

Joint Ventures

Portfolio diversification

An important way to reduce the risk of investing is to diversify your investments. Diversification is akin to "not putting all your eggs in one basket." For example, if your portfolio only consisted of stocks of technology companies, it would likely face a substantial loss in value if a major event adversely affected the technology industry.
There are different ways to diversify a portfolio whose holdings are concentrated in one industry. You might invest in the stocks of companies belonging to other industry groups. You might allocate your portfolio among different categories of stocks, such as growth, value, or income stocks. You might include bonds and cash investments in your asset-allocation decisions. Potential bond categories include government, agency, municipal, and corporate bonds. You might also diversify by investing in foreign stocks and bonds.
Diversification requires you to invest in securities whose investment returns do not move together. In other words, their investment returns have a low correlation. The correlation coefficient is used to measure the degree to which returns of two securities are related. For example, two stocks whose returns move in lockstep have a coefficient of +1.0. Two stocks whose returns move in exactly the opposite direction have a correlation of -1.0. To effectively diversify, you should aim to find investments that have a low or negative correlation.
As you increase the number of securities in your portfolio, you reach a point where you've likely diversified as much as reasonably possible. Financial planners vary in their views on how many securities you need to have a fully diversified portfolio. Some say it is 10 to 20 securities. Others say it is closer to 30 securities.

In either case, you'll still pay a lot in brokerage commissions to put together such a portfolio. For example, if the average trade costs $30, assembling a 10-stock portfolio would cost $300 in commissions. Surely, a cheaper way must exist to achieve diversification benefits.
Mutual funds offer diversification at a lower cost. You can buy no-load mutual funds from an online broker. Often, you can buy shares of a fund directly from the mutual fund, avoiding a commission altogether.

Mutual funds often require an initial investment of between $1,000 and $2,500. However, they generally allow subsequent investments of as little as $25. The Web site of the Investment Company Institute has a list of mutual funds and their toll-free numbers.
Mutual funds hold hundreds of securities in their portfolios. This provides a diversification advantage that's hard to beat. You do face yearly expenses with mutual funds. Management and marketing fees make up most of the fund's operating expenses, which total about 1.5% of your investment each year.
In spite of yearly fees, owning shares of five or 10 mutual funds with different investment objectives may provide great diversification benefits at a lower cost than building a portfolio of individual stocks and bonds.