Fitch & Mather Sample: Analysis

Scott Stanfield
Vertigo Software, Inc.

September 1998

Summary: Looks at FMCorp, a Web-based expense report system developed by Vertigo Software, Inc., a Microsoft Certified Solution Provider. (8 printed pages) Discusses the issues and strategies involved in the development of this full-feature n-tier application.

Analysis

Fitch & Mather, a fictitious company, approached us with a business problem. Employees were complaining that their expense reports were being lost and management was frustrated with lengthy paperwork. They wanted a solution that was flexible, inexpensive, and met their new goals. The project resulted in FMCorp, a Web-based expense report system.

Fitch & Mather hired Vertigo Software, Inc., a Microsoft Certified Solution Provider, to migrate their Microsoft® Excel spreadsheet system to an effective n-tier application. The following set of documents will give you an idea about the planning, analysis, design, and development phases that resulted in FMCorp. Along the way, we'll discuss the issues and strategies involved with the development of a full-feature n-tier application.

Meet the Players

Throughout these documents, we'll refer to four fictitious people in our examples. They represent the different roles employees play at FMCorp. The sample expense reports will cover a three-day trip to Comdex, in Las Vegas, Nevada, for Alice and Dolores, plus Jack's day trip to see his client in San Jose, California.

Alice Campbell Manager, VP of Marketing
Jack Beale Employee, Sales Engineer
Dolores Haze Employee, Sales Coordinator
Daniel Buck System Administrator

Current Scenario

In order to understand the new requirements, it is important to understand the current document flow.

The existing expense report scenario worked as follows:

  1. Bob attends TechEd '98 and puts the hotel, airfare, and meals on his personal credit card.

  2. Bob opens the latest Excel expense report template when he gets back to the office.

  3. He fills out the form, prints a copy, attaches his receipts, and gives it to his boss, Julie.

  4. Julie scans the line items and the total amount on the reimbursement request. If approved, she sends it to accounting so they can cut Bob a check. Otherwise, the expense report is returned, explaining that gambling losses on riverboat casinos are not reimbursable.

What's Wrong with This Method

Fitch & Mather discovered many problems with the current procedure:

Requirements

In order to come up with requirements for a new solution, Fitch & Mather assembled a small team. The team of information technology (IT) managers and employees discussed the problems with the current system and came up with their own goals, which are summarized as follows.

IT Group

Management

Employees

Scope/Limits

It is important to understand what we are not supposed to do. For the first version, Fitch & Mather do not require the following:

Number of Users

Fitch & Mather currently employs about 4,500 people. At any given time, we would not expect more than 1 percent of the company to be accessing the system.

Overview

FMCorp is a Web-based expense reimbursement system. Employees use the system to submit electronic expense reports that are routed and managed using a mixture of Microsoft BackOffice® tools and COM-based business rules. There are four tiers in this model:

Windows DNA Architecture

FMCorp system relies heavily on the Microsoft Windows Distributed interNet Applications Architecture (Windows DNA). You can learn more about Windows DNA at www.microsoft.com/dna/.

The first tier, or client level, uses Microsoft Excel and Internet Explorer 4.0. Users fill out an Excel template (the current template can be downloaded from the corporate Web site) and submit the report through a Web page using Internet Explorer. Netscape Navigator can also be used because of the platform independence of ASP-enabled sites, but with the loss of distinctive dynamic HTML (DHTML) features.

The second tier, or ASP level, is the Web-page script layer that builds dynamic pages and submits reports using the third-tier COM objects.

The third tier, or business objects level, uses a variety of COM objects built using the latest Microsoft Visual Studio® languages: Visual C++®, Visual J++™, and Visual Basic®. Multiple languages are used because our team members have individual strengths in different languages. Transaction Server manages the components and the Developer Studio® Analyzer tracks their performance.

The fourth tier, or database level, uses both a mail system and Microsoft® SQL Server™ 6.5. The COM objects submit requests via Active Data Objects (ADO) to an SQL Server database. Microsoft Exchange 5.5, or the optional SMTP mail service, notifies employees when their expense reports are received and approved (or rejected).

How It Works

After passing site security, employees will file an expense report by submitting a completed spreadsheet via the Web. The user has the option of viewing the status of all current expense reports while online.

The second-tier ASP code uses COM objects to funnel the data into SQL Server while validating the line items against business rules.

SQL Server processes the expense report and another COM object sends a summary message to the employee's manager. After the manager approves the expense report online, a status message is sent to the employee and a request for payment is sent to accounts payable.

The administrative Web component enables managers or accountants to view reports, manage an employee list, and set expense limits and categories. A site administrator manages the list of valid users and their managers for expense report routing.

What Is DNA?

According to the Windows DNA home page (www.microsoft.com/dna/), DNA is defined as follows:

Microsoft Windows Distributed interNet Applications Architecture is the framework for building modern, scalable, multitier business applications. Windows DNA applications can improve the flow of information within and outside of the organization; they are dynamic and flexible so they evolve with business needs; and they can be easily integrated with existing systems and data. Because Windows DNA applications use deeply integrated Windows platform services that work together, organizations can focus on delivering business solutions rather than on being systems integrators.

Windows DNA defines Microsoft's strategy for overall Internet application development. The underlying foundation of DNA is Microsoft's COM technology, which is essentially a software architecture that allows reuse of binary software components. COM is the glue that binds together the infrastructure of a DNA Web application.

Developers and application designers might shy away from the DNA market-speak. It's really more of a methodology than a turnkey solution. DNA describes how dozens of different products and technologies integrate.

DNA Products and Technologies

Some of the DNA products and technologies used by FMCorp are shown in the following table.

Tools and services Microsoft products
Software components Component Object Model (COM)
Web browser Internet Explorer 4.01
Web server Internet Information Server 4.0
Transactions Microsoft Transaction Server (MTS)
Database management Microsoft SQL Server 6.5
E-mail Microsoft SMTP Service
Scripting Active Server Pages, server-side Visual Basic Scripting Edition (VBScript), client-side JScript®
RAD Tools Visual Studio 6.0
Team development Visual SourceSafe™ 6.0
Component creation Visual Basic 6.0
Web site development Visual InterDev™ 6.0
Content replication Posting Acceptor 2.0
XML XML Parser component
Database access Active Data Objects (ADO)

The Visual Studio 6.0 development system is the tool that enables developers to take advantage of these products and technologies. FMCorp was built using two of the primary applications in Visual Studio 6.0: Visual InterDev Web development system and Visual Basic development system.

Requirements

There are three classes of workstations: servers, clients, and development machines. Each has its own unique set of software requirements.

Servers

The servers can be configured in many ways, or with all components and applications on one server. However, all servers must have the following:

  1. SQL Server 6.5 with Service Pack 3

  2. Windows NT 4.0 Option Pack

Clients

  1. Excel (to fill out an expense report; not needed by manager or for summary reports)

  2. Internet Explorer 4.01

Developers

  1. All of the client requirements

  2. Any part of the server components they are developing with

  3. Visual Studio 6.0

Technologies and Products

The following products and technologies were used in the development of FMCorp:

The technologies found in FMCorp include, but are not limited to the following:

Team Members

Team member Role Languages
Scott Stanfield Project Manager Visual C++, ASP
Scott Hernandez Lead Developer Visual Basic, ASP
Chris Idzerda Developer Visual C++
Ralph Arvesen Developer Visual J++
Pam Purser Graphic Designer  
Alan Purser Tester

Conclusion

Although the requirements for this project were fictional, we tried to create a specification and architecture that would satisfy our fictitious client, Fitch and Mather. We found the requirements helpful in drafting the initial architecture because it allowed us to focus on the required goals instead of creating interesting but useless features.

About the Author

Scott Stanfield is the president of Vertigo Software, Inc. Vertigo Software is a San Francisco Bay Area-based consulting firm that specializes in the design and development of Windows DNA applications and components. He can be reached at scott@vertigosoftware.com or on the Web at http://www.vertigosoftware.com/.

For More Information