Sei sulla pagina 1di 54

Chapter 1

Introduction

1.1 Introduction
Fixed asset known as property, plant, and equipment (PP&E), is a term
used in accountancy for assets and property which cannot easily be
converted into cash. This can be compared with current assets such as cash
or bank accounts, which are described as liquid assets. In most cases, only
tangible assets are referred to as fixed.

These are items of value which the organization has bought and will use
for an extended period of time; fixed assets normally include items such as
land and buildings, motor vehicles, furniture, office equipment, computers,
fixtures and fittings, and plant and machinery. These often receive favorable
tax treatment (depreciation allowance) over short-term assets. According to
International Accounting Standard (IAS) 16, Fixed Assets are assets whose
future economic benefit is probable to flow into the entity, whose cost can be
measured reliably.

It is pertinent to note that the cost of a fixed asset is its purchase price,
including import duties and other deductible trade discounts and rebates. In
addition, cost attributable to bringing and installing the asset in its needed
location and the initial estimate of dismantling and removing the item if they
are eventually no longer needed on the location.

1
The primary objective of a business entity is to make profit and increase
the wealth of its owners. In the attainment of this objective it is required that
the management will exercise due care and diligence in applying the basic
accounting concept of “Matching Concept”. Matching concept is simply
matching the expenses of a period against the revenues of the same period.

The use of assets in the generation of revenue is usually more than a


year- that is long term. It is therefore obligatory that in order to accurately
determine the net income or profit for a period depreciation is charged on
the total value of asset that contributed to the revenue for the period in
consideration and charge against the same revenue of the same period. This
is essential in the prudent reporting of the net revenue for the entity in the
period.

Net book value of an asset is basically the difference between the


historical cost of that asset and it associated depreciation. From the
foregoing, it is apparent that in order to report a true and fair position of the
financial jurisprudence of an entity it is relatable to record and report the
value of fixed assets at its net book value. Apart from the fact that it is
enshrined in Standard Accounting Statement (SAS) 3 and IAS 16 that value
of asset should be carry at the net book value, it is the best way of
consciously presenting the value of assets to the owners of the business and
potential investor.

1.2 Project Scope


Project scope is the sum of the products (deliverables) and services to
be provided as a project.

Scope of this Project

2
• This is a comprehensive application developed to manage the fixed
assets accounting and maintenance scheduling of small / large
manufacturing organizations.
• This system supports various methods of calculations and provides all
statutory reports.
• Manual / Automatic Depreciation Calculations using different
depreciation scheme.
• Yearly Depreciation generation based on the requirements.
• Division wise Fixed Asset Accounting..
• Comprehensive Reports for different departments.
• Data Export / Import through the Microsoft Excel, Microsoft Word.
• Purchasing History
• Robust SQL Database

Features:

• Fixed asset Creations.


• Provision to enter temporary asset entries and at the end of the year
can convert the temporary entry to Permanent asset or delete those
entries.
• Depreciations entry (Manual, Auto Generations).
• Asset Deletions / Sold or Scarping of Asset.
• Joining of Assets.
• Additions / Deletions to an Existing asset.
• Asset Transfers between Location, persons, cost centers.
• Asset Inspection Log.

Reports

• Asset Sheet (Asset wise, Type wise, Location wise, Between dates,
Report on Disposed Asset, Depreciation report).
• Item wise Asset Listings.
• Cost center wise asset addition lists.
• Depreciation Statement group wise (Asset wise)
• Deletion Statement (Particular disposed asset).
• Warranty Register.
• Asset Transfer – from company to company.
• Asset Transfer – from department to department

3
Chapter 2
Overall Description

2.1 Overall Description


Fixed asset

Fixed is a long-term, tangible asset held for business use and not
expected to be converted to cash in the current or upcoming fiscal year,
such as manufacturing equipment, real estate, and furniture.

Fixed assets management

Fixed assets management is an accounting process that seeks to track


fixed assets for the purposes of financial accounting, preventive
maintenance, and theft deterrence. Many organizations face a significant
challenge to track the location, quantity, condition, maintenance and
depreciation status of their fixed assets. A popular approach to tracking fixed
assets utilizes serial numbered Asset Tags, often with bar codes for easy and
accurate reading. Periodically, the owner of the assets can take inventory
4
with a mobile barcode reader and then produce a report. Off-the-shelf
software packages for fixed asset management are marketed to businesses
small and large. Some Enterprise Resource Planning systems are available
with fixed assets modules.
Tracking asset
Tracking assets is an important concern of every company, regardless
of size. Fixed assets are defined as any 'permanent' object that a business
uses internally including but not limited to computers, tools, software, or
office equipment. While employees may utilize a specific tool or tools, the
asset ultimately belongs to the company and must be returned. And
therefore without an accurate method of keeping track of these assets it
would be very easy for a company to lose control of them.
Asset tracking software allows companies to track what assets it owns,
where each is located, who has it, when it was checked out, when it is due
for return, when it is scheduled for maintenance, and the cost and
depreciation of each asset.

2.2 General services offered by software


Service means working facilities and various types of operations
offered by particular software.
General services offered by the software are given below :

1. Store each asset with its type, user and location to track its
state.
2. To manage any type of or particular asset take its history and
store as .pdf file.

5
3.
3. Depreciation calculation each fiscal year
Figure2.1: Add
Asset

Figure 2.2: Depreciation


calculation

4. We can impose depreciation according to asset type

6
Figure 2.3: Imposed
Depreciation
5. We can search assets in between purchase dates

7
Figure 2.4: Search Asset between
Purchase Dates

6. Generate different types of reports as follows:


a. Report on company data
b. Report on asset type
c. Report on between dates
d. Report on disposed data
e. Report on particular asset
f. Report on asset depreciation

8
Figure 2.5: Different Types of Reports

The project also offered delete, update operations on asset type, depreiation
rate, and locations (Company name, department name etc.).

Chapter 3
Database Design

3.1 Design of Entity Relationship Diagram


(ERD)
Entity Relationship Diagram (ERD)

An entity-relationship diagram is a data modeling technique that


creates a graphical representation of the entities, and the relationships
between entities, within an information system.

The three main components of an ERD are:

Entity

The entity is a person, object, place or event for which data is


collected.

Relationship

The relationship is the interaction between the entities.

Cardinality

9
The cardinality defines the relationship between the entities in terms of
numbers. An entity may be optional.

The steps involved in creating an ERD are:

• Identify the entities.


• Determine all significant interactions.
• Analyze the nature of the interactions.
• Draw the ERD.

Present
purchaseP Price
Na rice
ERD of this project me
Id
docum purchaseD
serviceD ent ate
ate
ExpireD ImposedD
conditi remar ate ate
on ks
ima EmpDe
employeeN ge stat sig
ame us
bran
d
Asset

1….. 1…..1
1

HAS HAS

Depreciation
*…..1 Rate
Depreciat
Location Departm Type ion
Id ent Name Method

Unit 10

1…..*

Location Asset Type


Figure 3.1 : ERD of Asset Solution

3.2 Formation of Tables in the Database


Tables of FixedAsset database:

11
Figure 3.2 : Tables of FixedAsset
database

3.3 Description Of All The Tables

1. Table Name: t_Asset

Attribute: assetId, assetTypeName, assetName, purchasePrice,


presentPrice, dateOfPurchase, dateOfService, warrantyExpDate, brand,
condition, image, remarks, employeeName, employeeDesignation,
locationId, status, imposeDate, documents

This table is used to store each asset with its type, user and location
and other information related to asset to track its state. It also manage any
type of or particular asset take its history.

I would like to mention here that assetId is Primary key. I also would
like to mention here that assetTypeName and locationId are Foreign key.

2. Table Name: t_AssetType

Attribute: assetTypeName, depreciationMethod, depreciationRate


This table is used to store name of the type of asset and depreciation
method and depreciation rate entered by user.

I would like to mention here that assetTypeName is Primary key.

3. Table Name: t_Location


12
Attribute: locationId, unit, department
This table is used to store location id, location and department.

I would like to mention here that locationId is Primary key.

Chapter 4
Project Analysis and Design

4.1 Control Flow Diagram


Control flow diagram
Start
Control flow diagram (CFD) is a diagram to describe the control flow of
a business process, process or program.

Enter Asset Type


Enter Asset Location

Check Check

Existen Enter Asset Detail Existen


ce ce
No No
Yes For Required Company Yes

Location Already Exist Type Already Exist

Enter New Asset Location Enter New Asset Type


Specific Department of
Selected Company
Typed Information Saved Typed Information
successfully Saved successfully

End Asset Saved into Assigned To a End 13


Required Location User

End
4.2 Class Responsibility Collaborator (CRC)
Figure 4.1: Control Flow
Design Diagram
CRC model

CRC model is a collection of standard index cards that have been


divided into three sections. Class, responsibility and collaborator.

Basic Structure of CRC

Figure 4.2: Basic Structure of


CRC
A class represents a collection of similar objects. An object is a person,
place, thing, event, or concept that is relevant to the system at hand. For
example, in a university system, classes would represent students, tenured
professors, and seminars. The name of the class appears across the top of a
CRC card and is typically a singular noun or singular noun phrase, such as

14
Student, Professor, and Seminar. We will use singular names because each
class represents a generalized version of a singular object.

A responsibility is anything that a class knows or does. For example,


students have names, addresses, and phone numbers. These are the things
a student knows. Students also enroll in seminars, drop seminars, and
request transcripts. These are the things a student does. The things a class
knows and does constitute its responsibilities. Important: A class is able to
change the values of the things it knows, but it is unable to change the
values of what other classes know.

A collaborator is another class that a class interacts with to fulfill its


responsibilities, but not have enough information to do it. For example, in the
following figure students enroll in seminars. To do this, a student needs to
know if a spot is available in the seminar and, if so, he then needs to be
added to the seminar. However, students only have information about
themselves (their names and so forth), and not about seminars. What the
student needs to do is collaborate/interact with the card labeled Seminar to
sign up for a seminar. Therefore, Seminar is included in the list of
collaborators of Student.

Collaboration takes one of two forms: A request for information or a


request to do something.

15
Figure 4.3: Student CRC card

CRC of This Project

16
Asset

Responsibilities Collaborators
knows asset Id
knows name
knows type Asset Type
knows purchase Price
knows present Price
knows purchase Date
knows service Date
knows warranty expire
Date
knows location
knows brand
knows condition
knows remarks
knows employee Name
knows employee
Designation
knows image
knows status
knows document
knows imposed Date
Get Asset()

17
Asset Type

Responsibilities Collaborators
knows asset Type Name
knows depreciation
Method
knows depreciation Rate Asset
knows Assets

Figure 4.4: Asset CRC card

18
Figure 4.5: Asset Type CRC card

Asset Location

Responsibilities Collaborators
knows location Id
knows unit
knows department
knows Assets Asset

19
Figure 4.6: Asset Location CRC card

Asset Manager

Responsibilities Collaborators
knows asset Asset
knows asset Type Asset Type
knows location Asset Location
Save Asset() Asset Exception Handler
Update Asset() Asset Gateway
Delete Asset()
Save Location() Location Exception
Delete Location() Handler
Save Asset Type() Location Gateway
Delete Asset Type() Asset Type Exception
Get Asset data() Handler
Get Asset Type Data() Asset Type Gateway
Get Location Data()
Search Asset() Data Collection
Imposed Depreciation()
Asset Gateway
Asset Gateway

20
Figure 4.7: Asset Manager CRC card

21
Asset Exception Handler

Responsibilities Collaborators
knows Asset Exception Asset Exception
check Name()
check Price()
check Date()
check Brand() Asset Exception
check Remark() System Exception
check Condition()
check AssigntoHome()
check Location()

Figure 4.8: Asset Exception Handler CRC card

22
Asset Location Exception Handler

Responsibilities Collaborators
knows Location
Exception Location Exception
check Location Id() System Exception
check unit()
check department()

Figure 4.9: Asset Type Exception Handler CRC car

Asset Type Exception Handler

Responsibilities Collaborators
knows Asset Type
Exception Asset Type Exception
check Type Name System Exception
check Depreciation Name
check Depreciation Rate

23
Figure 4.10: Asset Location Exception Handler CRC card

Data Collector

Responsibilities Collaborators
knows asset Asset
knows asset Type Asset Type
knows location Asset Location

Get Asset data()


Get Asset Type Data() Query Executor
Get Location Data()
Get Disposed Asset data()

24
Figure 4.11: Data Collector CRC card

25
Depreciation Manager

Responsibilities Collaborators
knows purchase Price
knows present Price
knows imposed Date Asset
knows current Date
knows Depreciation
Method
knows Depreciation Rate
knows yearly Depreciation
knows remaining
Bookvalue
knows total Depreciation Asset
knows year Ending
Set Depreciation Data()
Calculate Depreciation()
Impose Depreciation()

26
Figure 4.12: Depreciation Manager CRC card
Query Executor

Responsibilities Collaborators
knows AppConfig() AppConfig()
Execute Insert()
Execute Select()
Execute Delete()
Execute Update()

27
Figure 4.13: Query Executor CRC card

Figure 4.14: DBConnector CRC card

DBConnector

Responsibilities Collaborators
knows Connection String AppConfig()
Get Connection()

4.3 Class Design


Class Diagram of Data Access Object (DAO)

28
Figure 4.15: Class Diagram of Data Access Object
(DAO)

Chapter 5
Asset Management

5.1 Details of Fixed Asset Information


Fixed asset includes:
29
Asset Id,
Asset Type,
Asset Name,
Purchase Price,
Present Price,
Purchase Date,
Service Date,
Warranty Expire Date,
Brand/Manufacturer,
Condition,
Remarks,
Location
Department
Employee Name,
Employee Designation,
Image,
Document

5.1.1 Asset Band


The brand is the most important distinction between many products
and services. To manage brand assets effectively, one must first understand
the definition of a brand. First, a brand is a trust. To the public, it represents
a company, and its products and services. Consumers select a brand
because it communicates a perceived value.

A brand comprises many elements. These include its name, positioning


(reason for being), trademark/trade dress (symbols, colors, typestyle,
package configuration), and brand communications. These brand elements,
when successfully developed and managed, create a strong identity for a
company. Over time, this creates strong brand authority.
30
Brands are a company's most valuable financial asset. They are the
engine that drives the company. Yet too many chief executives don't give
brands the ongoing attention they demand and deserve. And only a small
number have truly embraced the concept of brand asset management.

Many had strong branding strategies that may have become


ineffective or obsolete in today's environment of mergers and acquisitions,
global marketing, and increased competition. Such neglect is surprising.
Indeed, headline-making deals in recent years illustrate the bottom-line
impact of building, protecting and maintaining strong brand assets.

5.1.2 Asset User


Asset users are the employee of the company to whom asset has been
assigned. Examples according to designation are Accountant, General
Manager, Assistant Manager, Executive etc.

5.1.3 Asset Location


Asset location is a term used in personal finance to refer to how
investor distributes their investments across taxable and non-taxable
accounts (e.g., 401(k), IRAs, ISAs, TESSAs). In order to maximize
performance of a financial portfolio, it is often advised that an investor place
income-generating investments (e.g. bonds) into tax-deferred or non-taxable
accounts and place equity investments (e.g. index funds) into taxable
accounts.

5.2 Depreciation Calculation


Depreciation
Depreciation is defined as an accounting methodology which allows an
organization to spread the cost of a fixed asset over the expected useful life
of that asset. The cost of the fixed asset immediately comes out of the cash
account of the organization and is entered as an asset for the organization.
At the end of each period of the useful life of the asset a part of the cost is
31
expensed. This amount is added to the accumulated depreciation for the
asset. The net value of the asset on the books of the organization is the
asset account less the accumulated depreciation account.

A fixed asset is considered depreciable if it will wear out or become


obsolete over a period of years. The period of years is called the life or the
useful life of the item. The life that is assigned to an item will depend on
industry standards, management standards, and governmental regulations.
Generally, depreciable items include buildings, manufacturing equipment,
office equipment, and vehicles. Land is not considered a depreciable item as
it does not wear out or become obsolete.

Some fixed assets may be expected to have a market value at the end
of their useful life. This expected value is called the salvage value. Some
organizations set this value on a per asset basis, some use a percentage of
the purchase price, some assume that all assets will have zero salvage
value, and some use a combination of these methods.

Organizations usually set a price at which a fixed asset is considered


depreciable. Any asset purchased at less than the set price is immediately
expensed. This eliminates the need to track every waste basket, stapler,
hammer, wrench, desk lamp, etc. Some organizations set this as low as
$100.00. Other organizations set it at $10,000.00 or more. Once this limit
has been set it should be adhered to and should not be reset every year

Depreciation Calculation
Depreciation expense is calculated utilizing either a straight line
depreciation method or an accelerated depreciation method. The straight
line method calculates depreciation by spreading the cost evenly over the
life of the fixed asset. Accelerated depreciation methods such as declining
balance and sum of years digits calculate depreciation by expensing a large
part of the cost at the beginning of the life of the fixed asset.
32
Depreciation Methods
There are 16 depreciation methods that provide the flexibility.
Depreciation for an asset may be backed out; recalculated or additional
depreciation may be taken.

Depreciation Methods Include:


• Straight line

• Straight line constant

• No depreciation

• Sum of years digits

• Remaining life

• Amortization

• Declining balance

• 125% declining balance

• 150% declining balance

• 175% declining balance

• 200% declining balance

• Applicable methods required for ACRS and MACRS

Computation of the straight-line methods of depreciation using the following


example.

Cost of Asset 10,500


Salvage Value 500
Life 5 years

33
1. Straight-Line Depreciation

Note that the straight line calculation considers salvage value up front
in the calculation.

10,500 cost - 500 salvage value = 2,000 per year


-------------------------------
5 year life

Depreciation Accumulated
Book
Year Cost Expense Depreciation
Value
---- -------- ------------- -------------
--------
1 10,500 2,000 2,000 8,500
2 10,500 2,000 4,000 6,500
3 10,500 2,000 6,000 4,500
4 10,500 2,000 8,000 2,500
5 10,500 2,000 10,000 500

Chapter 6
Report Generation

34
6.1 Report Details
Crystal Reports
Crystal Reports is a business intelligence application used to design
and generate reports from a wide range of data sources.
Professional-looking reports that communicate content effectively
using helpful features such as charts, complex formulas using custom
functions, sorting and grouping, the updated repository, new Business Views,
and more. Then, discover how to integrate your reports with Visual Basic,
Visual Studio .NET, and Java. Plus, schedule and view your reports on the
Web with Crystal Enterprise 10.

• Design and develop page-published quality reports


• Customize your report data using formulas--from simple math
computations to full Basic-like formulas
• Store report objects in the updated repository for organization-wide
sharing
• Simplify complex database structures with new version 10 Business
Views
• Fulfill sophisticated reporting requirements with sub reports
• Schedule and view reports on the Web with Crystal Enterprise 10
• Create interactive reports using parameter fields, drill-down,
hyperlinks, and managed navigation
• Export reports to common file formats like Microsoft Word or Excel,
Acrobat PDF, HTML, XML, and others
• Develop custom Web and Windows applications to integrate reports
using Visual Basic, Visual Studio .NET, or Java
• Create reports based on unique data sources, such as OLAP databases,
Microsoft Outlook folders, Web server logs, and XML data

35
6.2 Various Types of Reports Managed by the
Project
1. Different types of reports as follows:
a. Report on company data
b. Report on asset type
c. Report on between dates
d. Report on disposed data
e. Report on particular asset
f. Report on asset depreciation

Report on company data:


This report generate the view of the details of assets contains a
selected company. Company is selected from the company names of
dropdown list designed in the report form. Report generation process is
shown in the following figure.

Figure 6.1: Report generation process of details of assets contains a selected


company
Click on the Unit Tab and then select the required company from the drop
down list and then click on the View report button. It will generate following
report as output.

36
Figure 6.2: Report of details of assets contains a selected
company

Report on asset type:


This report generate the view of the details of assets of particular asset
type. Type is selected from the types of dropdown list designed in the report
form. Report generation process is shown in the following figure.

37
Figure 6.3: Report generation process of details of assets of particular
asset type
Click on the Type Tab and then select the required asset type from the drop
down list and then click on the View report button. It will generate following
report as output.

Report on between dates:


Figure 6.4: Report of details of assets of a particular asset
This report generate the view of the details of assets of between
type
purchase dates. Purchase dates are selected from the date time pickers
designed in the report form. One date time picker returns from date and the
other date time picker returns to date. Report generation process is shown in
the following figure.

38
Figure 6.5: Report generation process of details of assets of between
purchase dates
Click on the Date Tab and then select the required purchase dates from the
drop down list and then click on the View report button. It will generate
following report as output.

Report onFigure
disposed data:
6.6: Report of details of assets of between purchase
This dates
report generate the view of the details of disposed assets.
Disposed assets are selected from the date time pickers designed in the
report form. Report generation process is shown in the following figure.

39
Figure 6.7: Report generation process of details of disposed
assets
Click on the Disposed Asset Tab and then select the required purchase dates
from the drop down list and then click on the View report button. It will
generate following report as output.

Figure 6.8: Report of details of disposed


Report on particular
assetsasset:
This report generate the view of the details of particular asset.
Following figure shows the report as output for a particular asset.

40
Figure 6.9: Report of details of particular
asset

Report on asset depreciation:


This report generates the view of the details of depreciation value of a
particular asset. Following figure shows the report as output for depreciation
value of a particular asset.

41
Figure 6.10: Report of details of depreciation value of a
particular asset

CHAPTER 7
OTHER

7.1 Product Development Tools


There were a lot tools to develop this product. But I have chosen the
following tools:
• C#.NET
• MSSQL
42
7.2 .NET Framework Overview
The .NET Framework is an integral Windows component that supports
building and running the next generation of applications and XML Web
services. The .NET Framework is designed to fulfill the following objectives:
• To provide a consistent object-oriented programming environment
whether object code is stored and executed locally, executed locally
but Internet-distributed, or executed remotely.
• To provide a code-execution environment that minimizes software
deployment and versioning conflicts.
• To provide a code-execution environment that promotes safe
execution of code, including code created by an unknown or semi-
trusted third party.
• To provide a code-execution environment that eliminates the
performance problems of scripted or interpreted environments.
• To make the developer experience consistent across widely varying
types of applications, such as Windows-based applications and Web-
based applications.
• To build all communication on industry standards to ensure that code
based on the .NET Framework can integrate with any other code.

The .NET Framework has two main components: the common language
runtime and the .NET Framework class library. The common language
runtime is the foundation of the .NET Framework. You can think of the
runtime as an agent that manages code at execution time, providing core
services such as memory management, thread management, and remoting,
while also enforcing strict type safety and other forms of code accuracy that
promote security and robustness. In fact, the concept of code management
is a fundamental principle of the runtime. Code that targets the runtime is
known as managed code, while code that does not target the runtime is
43
known as unmanaged code. The class library, the other main component of
the .NET Framework, is a comprehensive, object-oriented collection of
reusable types that you can use to develop applications ranging from
traditional command-line or graphical user interface (GUI) applications to
applications based on the latest innovations provided by ASP.NET, such as
Web Forms and XML Web services.

The .NET Framework can be hosted by unmanaged components that load


the common language runtime into their processes and initiate the execution
of managed code, thereby creating a software environment that can exploit
both managed and unmanaged features. The .NET Framework not only
provides several runtime hosts, but also supports the development of third-
party runtime hosts.

The following illustration shows the relationship of the common


language runtime and the class library to your applications and to the overall
system. The illustration also shows how managed code operates within a
larger architecture.

.NET Framework in context

44
Figure 7.1: .NET Framework in
context
The following sections describe the main components and features of
the .NET Framework in greater detail.
Features of the Common Language Runtime
The common language runtime manages memory, thread execution,
code execution, code safety verification, compilation, and other system
services. These features are intrinsic to the managed code that runs on the
common language runtime.
With regards to security, managed components are awarded varying
degrees of trust, depending on a number of factors that include their origin
(such as the Internet, enterprise network, or local computer). This means
that a managed component might or might not be able to perform file-access
operations, registry-access operations, or other sensitive functions, even if it
is being used in the same active application.

The runtime enforces code access security. The runtime also enforces
code robustness by implementing a strict type-and-code-verification
infrastructure called the common type system (CTS). The CTS ensures that
all managed code is self-describing. The various Microsoft and third-party
language compilers generate managed code that conforms to the CTS. This

45
means that managed code can consume other managed types and
instances, while strictly enforcing type fidelity and type safety.

In addition, the managed environment of the runtime eliminates many


common software issues. The runtime also accelerates developer
productivity. While the runtime is designed for the software of the future, it
also supports software of today and yesterday. Interoperability between
managed and unmanaged code enables developers to continue to use
necessary COM components and DLLs.

The runtime is designed to enhance performance. Although the


common languageFigure
runtime7.2:
provides manyofstandard
Features runtimeLanguage
the Common services,
managed code is never interpreted. A feature called just-in-time (JIT)
Runtime
compiling enables all managed code to run in the native machine language
of the system on which it is executing. Meanwhile, the memory manager
removes the possibilities of fragmented memory and increases memory
locality-of-reference to further increase performance.
Finally, the runtime can be hosted by high-performance, server-side
applications, such as Microsoft® SQL Server™ and Internet Information
Services (IIS). This infrastructure enables you to use managed code to write
your business logic, while still enjoying the superior performance of the
industry's best enterprise servers that support runtime hosting.

.NET Framework Class Library

The .NET Framework class library is a collection of reusable types that


tightly integrate with the common language runtime. The class library is
object oriented, providing types from which your own managed code can

46
derive functionality. This not only makes the .NET Framework types easy to
use, but also reduces the time associated with learning new features of
the .NET Framework. In addition, third-party components can integrate
seamlessly with classes in the .NET Framework.

As we would expect from an object-oriented class library, the .NET


Framework types enable you to accomplish a range of common
programming tasks, including tasks such as string management, data
collection, database connectivity, and file access. In addition to these
common tasks, the class library includes types that support a variety of
specialized development scenarios.

In addition to base classes, the .NET Framework class library includes:

Element Description

ADO.NET Microsoft ADO.NET is the next generation of


Microsoft ActiveX® Data Objects (ADO)
technology. ADO.NET provides improved
support for the disconnected programming
model. It also provides rich XML support.
ASP.NET Microsoft ASP.NET is a programming framework
that is built on the common language runtime.
ASP.NET can be used on a server to build Web
applications. ASP.NET Web Forms provide an
easy and powerful way to build dynamic Web
user interfaces (UI).
XML Web XML Web services are programmable Web

47
services components that can be shared among
applications on the Internet or the intranet. The
.NET Framework provides tools and classes for
building, testing, and distributing XML Web
services.
User The .NET Framework supports three types of
interfaces user interfaces:
•Web Forms, which work by using ASP.NET.
•Windows Forms, which run on Win32 client
computers.
•Console applications.

Table 7.1: .NET Framework class


library

Client Application Development


Client applications are the closest to a traditional style of application in
Windows-based programming. These are the types of applications that
display windows or forms on the desktop, enabling a user to perform a task.
Client applications include applications such as word processors and
spreadsheets, as well as custom business applications such as data-entry
tools, reporting tools, and so on. Client applications usually employ windows,
menus, buttons, and other GUI elements, and they likely access local
resources such as the file system and peripherals such as printers.
Another kind of client application is the traditional ActiveX control (now
replaced by the managed Windows Forms control) deployed over the
Internet as a Web page. This application is much like other client
applications: it is executed natively, has access to local resources, and
includes graphical elements.

48
In the past, developers created such applications using C/C++ in
conjunction with the Microsoft Foundation Classes (MFC) or with a rapid
application development (RAD) environment such as Microsoft® Visual
Basic®. The .NET Framework incorporates aspects of these existing products
into a single, consistent development environment that drastically simplifies
the development of client applications.
The Windows Forms classes contained in the .NET Framework are
designed to be used for GUI development. You can easily create command
windows, buttons, menus, toolbars, and other screen elements with the
flexibility necessary to accommodate shifting business needs.

Server Application Development


Server-side applications in the managed world are implemented
through runtime hosts. Unmanaged applications host the common language
runtime, which allows your custom managed code to control the behavior of
the server. This model provides you with all the features of the common
language runtime and class library while gaining the performance and
scalability of the host server.
The following illustration shows a basic network schema with managed
code running in different server environments. Servers such as IIS and SQL
Server can perform standard operations while your application logic executes
through the managed code.
Server-side managed code

49
Figure 7.3: basic network schema with managed code running in different
server environments
7.3 Microsoft SQL SERVER 2005
Microsoft SQL Server 2005 Express Edition (SQL Server Express) is a
database platform that is based on Microsoft SQL Server 2005. It is also a
replacement for Microsoft Desktop Engine (MSDE). Integrated with Microsoft
Visual Studio 2005, SQL Server Express makes it easy to develop data driven
applications that are rich in capability, secure in storage, and fast to deploy.
SQL Server Express is free and can be redistributed (subject to
agreement), and functions as the client database as well as a basic server
database. SQL Server Express is an ideal choice for Independent Software
Vendors (ISVs), server users, non-professional developers, Web application
developers, Web site hosters, and hobbyists building client applications. If
you need more advanced database features, then SQL Server Express can be
seamlessly upgraded to more sophisticated versions of SQL Server.

The important criteria of MS SQL Server 2005:


 The Transaction Processing Performance Council (TPC.Org) is
independent organization that specifies the typical transactions (transactions
used in inventory control systems, airline reservation systems and banking
systems) and some general rules these transactions should satisfy.
The TPC produces benchmarks that measure transaction processing
50
and database performance in terms of how many transactions a given
system and database can perform per unit of time, e.g., transactions per
second or transactions per minute.
The TPC organization made the specification for many tests. There are
TPC-C, TPC-H, TPC-R, TPC-W and some old tests, such as TPC-A, TPC-B and
TPC-D. The most popular test is the
TPC-C test ( OLTP test).
At the moment the article was wrote, SQL Server 2000 held the top
TPC-C by performance results with Distributed Partitioned Views-based
cluster systems.
 One of the main Microsoft SQL Server 2005 advantage in comparison
with Oracle 9i Database is that SQL Server is cheaper. Other SQL Server
advantage is that Microsoft includes the Online analytical processing (OLAP)
and Data Mining as standard features in SQL Server 2005 Enterprise Edition.
So, you can save up to four times with SQL Server 2005 Enterprise Edition if
you use OLAP and Data Mining.
Other advantage of SQL Server 2005 is as follows:
 SQL Server 2005 is cheaper to buy than Oracle 9i Database.
 SQL Server 2005 holds the top TPC-C performance and
price/performance results.
 SQL Server 2005 is generally accepted as easier to install, use and
manage.

7.4 Benefits of using C# .NET


51
The C# language is disarmingly simple, with only about 80 keywords
and a dozen built-in data types, but C# is highly expressive when it comes to
implementing modern programming concepts. C# includes all the support
for structured, component-based, object-oriented programming that one
expects of a modern language built on the shoulders of C++ and Java.
Microsoft foresees C# becoming as ubiquitous as Java, which has been called
the “mother language” of the .NET initiative.

The C# language was developed by a small team led by two


distinguished Microsoft engineers, Anders Hejlsberg and Scott Wiltamuth.
Hejlsberg is also known for creating Turbo Pascal, a popular language for PC
programming, and for leading the team that designed Borland Delphi, one of
the first successful integrated development environments for client/server
programming. At the heart of any object-oriented language is its support for
defining and working with classes. Classes define new types, allowing you to
extend the language to better model the problem you are trying to solve. C#
contains keywords for declaring new classes and their methods and
properties, and for implementing encapsulation, inheritance, and
polymorphism, the three pillars of object-oriented programming. In C#
everything pertaining to a class declaration is found in the declaration itself.
C# class definitions do not require separate header files or Interface
Definition Language (IDL) files. Moreover, C# supports a new XML style of
inline documentation that greatly simplifies the creation of online and print
reference documentation for an application. C# also supports interfaces, a
means of making a contract with a class for services that the
interface stipulates. In C#, a class can inherit from only a single parent, but a
class can
implement multiple interfaces. When it implements an interface, a C# class
in effect promises to provide the functionality the interface specifies.

52
C# also provides support for structs, a concept whose meaning has
changed significantly from C# provides component-oriented features, such
as properties, events, and declarative constructs (called attributes).
Component-oriented programming is supported by the CLR's support for
storing metadata with the code for the class. The metadata describes the
class, including its methods and properties, as well as its security needs and
other attributes, such as whether it can be serialized; the code contains the
logic necessary to carry out its functions. A compiled class is thus a self-
contained unit; therefore, a hosting environment that knows how to read a
class' metadata and code needs no other information to make use of it.
Using C# and the CLR, it is possible to add custom metadata to a class by
creating custom attributes. Likewise, it is possible to read class metadata
using CLR types that support reflection.

An assembly is a collection of files that appear to the programmer to


be a single dynamic link library (DLL) or executable (EXE). In .NET, an
assembly is the basic unit of reuse, versioning, security, and deployment.
The CLR provides a number of classes for manipulating assemblies. A final
note about C# is that it also provides support for directly accessing memory
using C++ style pointers and keywords for bracketing such operations as
unsafe, and for warning the CLR garbage collector not to collect objects
referenced by pointers until they are released.

For program portability, rather than source-code portability, the C#


language specification is best combined with another ECMA standard known
as the Common Language Infrastructure (CLI). CLI is the heart and soul of
.NET and the Common Language Runtime (CLR). The first released
implementation of the C# compiler using the CLI is, not coincidentally, the
Microsoft .NET Framework.

Using the Microsoft implementation, C# programs always produce


managed code. This simply means that the result of compilation produces a
53
program containing embedded CIL instructions rather than native machine
instructions. The CIL—also referred to as Microsoft Intermediate Language
(MSIL) or sometimes simply as IL—is similar in concept to Java’s byte-code
and consists of the set of low-level instructions understood by CLI-compliant
runtimes like Microsoft’s CLR.

7.5 Operating Environment


Platform
Windows 9X/ME/NT/2K/2003/XP/Vista
.NET Framework 2.0

7.6 Summary and Conclusions


Overall, we noted the fixed asset system yields materially accurate
financial statement balances. Information is not recorded timely and
procedures for tracking and safeguarding assets should be improved.
Department personnel carry out the duties set forth in the executive
order with a wide variation of diligence. Some departments have very
exacting procedures, while others haven’t designated a department
property coordinator.
Fixed asset inventories are one of the key controls to ensure assets are
accounted for properly and safeguarded. We noted fixed asset inventories
are not consistently done by all departments and have not been completed
at all in some departments for several years. It should be noted the Finance
Department has made significant improvements with the fixed asset
inventory currently underway.

54