Website: Email : Tel (: 0918.775.368
ACKNOWLEDGEMENT
When all the last parts of the project were finished and all the corrections were made, our group is
so happy and proud for all we have done in the project developing process. At the beginning, it was
realized that working in a group with a cooperative spirit is not easy at all. With the results that we
get today, all team’s members have tried our best. However, having the today’s results, we would
like to send our thanks to our lectures, friends, and family members who have helped, encouraged
and supported us enthusiastically to complete the project, which is the proof of our knowledge after
five year studying at Hanoi University of Technology-Genetic Singapore Joint Program.
We would like to give special thank to MSC. Luong Vu Nam, who was very dedicated. He has
spent a lot of time on reviewing and editing our system analysis and design as well as system
developing process.
Special thank to MA .Kazi Shahidul Islam for his assistances and consultancy to our documents,
language and presentation.
We also will never forget the kind support of Dr. Nguyen Minh Viet, Vice.Prof Dr.Nguyen Viet
Huong and other teachers as well as the staffs of International Joints Training program – Hanoi
University of Technology and Genetic Computer School.
Batch 7
Group 7
Pham Thi Thanh Dung
Thai Thi Thu Hien
Nguyen Thuy Linh
Quach Hong Trang
Hanoi, Vietnam
May 2006
HUT – Genetic computer school – Group 7 Page 1
Website: Email : Tel (: 0918.775.368
TABLE OF CONTENTS
CHAPTER 1 – INTRODUCTION...............................................................................................4
1.1 SCENARIO.......................................................................................................................... 4
1.2 BACKGROUND..................................................................................................................5
1.3 EXISTING SYSTEM AND SLIMS....................................................................................6
1.3.1 Current System...............................................................................................................6
1.3.2 SLIMS............................................................................................................................ 7
1.4 PROJECT SCOPE............................................................................................................... 8
CHAPTER 2 - DEVELOPING TOOLS....................................................................................10
2.1 MODELING LANGUAGE............................................................................................... 10
2.1.1 Unified Modeling Language (UML).............................................................................10
2.1.2 Rational Rose................................................................................................................10
2.2 DATABASE MANAGEMENT SYSTEMS (DBMS).......................................................11
2.2.1 Introduction to DBMS..................................................................................................11
2.2.2 Kinds of DBMSs........................................................................................................... 12
2.2.4Choose DBMS and Explain Reasons.............................................................................13
2.3 PROGRAMMING LAGUAGES......................................................................................16
2.3.1 Introduction to Programming Language......................................................................16
2.3.3 Choose Programming language and explain reasons..................................................19
2.4 OTHER TOOLS................................................................................................................ 20
2.4.1 Platform........................................................................................................................20
2.4.2 Developing Tool............................................................................................................20
2.4.3 System design tool.........................................................................................................24
2.4.4 Report designing tool....................................................................................................25
CHAPTER 3 - SYSTEM ANALYSIS........................................................................................25
3.1 DETERMINING REQUIREMENTS OF THE SYSTEM..............................................25
3.1.1 Managing Account.......................................................................................................28
3.1.2 Managing Initial Information......................................................................................28
3.1.3 Managing Periodic Information...................................................................................30
3.1.4 Managing Extraordinary Information.........................................................................31
3.1.5 Managing Report..........................................................................................................32
3.1.6 Managing Daily Transaction........................................................................................33
3.2 ANALYSE SAMPLE FORMS..........................................................................................34
3.2.1 Analyze Input Form......................................................................................................34
3.2.2 Analyze Output Form...................................................................................................37
3.3 SEQUENCE DIAGRAMS.................................................................................................40
3.3.1 Sequence Diagram for Accessing To the System..........................................................40
3.3.2 Sequence Diagram for Setting Account........................................................................41
3.3.3Sequence Diagram for Updating Account.....................................................................42
3.3.4 Sequence Diagram for Disable User.............................................................................43
3.3.5 Sequence Diagram for Creating Stock Information.....................................................44
3.3.6 Sequence Diagram for Updating Company Information..............................................45
3.3.7 Sequence Diagram for Searching Profit Plan..............................................................46
HUT – Genetic computer school – Group 7 Page 2
Website: Email : Tel (: 0918.775.368
3.3.8 Sequence Diagram for Deleting Shareholders.............................................................47
3.3.9 Sequence Diagram Report............................................................................................48
3.3.10 Sequence Diagram Daily Transaction........................................................................49
3.4 STATECHART DIAGRAMS...........................................................................................50
3.4.1 Statechart Diagram of \“Accessing to system\..............................................................50
3.4.2 Statechart Diagram of \“Account Management\..........................................................51
3.4.3 Statechart Diagram of \“Granting role\........................................................................52
3.4.4 Statechart Diagram of \“Term Management................................................................53
3.4.5 Statechart Diagram of \“Balance Sheet........................................................................54
3.4.6 Statechart Diagram of \“Extraordinary Information...................................................55
3.4.7 Statechart Diagram of \“Daily Transaction..................................................................56
3.4.8 Statechart Diagram of \“Report Management..............................................................57
3.4.9 Statechart Diagram of \“Financial Report Explanation Management........................59
3.5.1 Access To System Function..........................................................................................61
3.5.2 Account Management Function...................................................................................62
3.5.3 Role Management Function.........................................................................................63
3.5.4 User_Role Management Function................................................................................64
3.5.5 User_Company Management Function........................................................................64
3.5.6 Company Management Function.................................................................................65
3.5.7 Bad Debt Management Function.................................................................................67
3.5.8 Business Result Management Function.......................................................................68
3.5.9 Financial Report Explanation Management Function................................................69
3.5.10 Balance Sheet Management Function........................................................................70
3.5.11 Extraordinary Information Management Function...................................................71
3.5.12 Transaction Cancellation Management Function......................................................72
3.5.13 Split/Attach Management Function............................................................................73
3.5.14 Addition Stock Management Function.......................................................................74
3.5.15 Report Management Function....................................................................................75
3.5.16 Daily Transaction Management Function..................................................................76
3.5.18 Management Function...............................................................................................78
3.5.19 Management Function...............................................................................................80
3.5.21 Management Function...............................................................................................83
3.6 SYSTEM DESIGN.............................................................................................................84
3.6.1 DATABASE DESIGN..................................................................................................84
3.6.2 The Process of Normalization.......................................................................................84
3.6.3 Defining Relationships.................................................................................................85
3.6.4 Result of Database Normalization and Design Process................................................87
3.7 SYSTEM DESIGN.............................................................................................................92
3.7.1 System Menu................................................................................................................. 92
3.7.2 Input Design................................................................................................................. 97
CHAPTER 4 - CONCLUSION AND DEVELOPMENT TENDENCY................................100
4.1 ADVANTAGES................................................................................................................100
4.2 LIMITATION AND SOLUTION...................................................................................100
4.3 CONCLUSION AND DEVELOPMENT TENDENCY................................................101
...........................................................................................................................................................
HUT – Genetic computer school – Group 7 Page 3
Website: Email : Tel (: 0918.775.368
CHAPTER 1 – INTRODUCTION
1.1 SCENARIO
Nowadays, Information Technology (IT) plays an important role in our life. It is the most
modern and helpful tool to people. The Stock is an aspect of life that IT has been applied widely.
This has brought many significant successes in order to promote the development of the stock
market.
Hanoi Security Trading Center (HASTC) is a special financial one of State Security
Commission which was set up in 1998 and situated in Hanoi – Vietnam. During 8 year’s
development, HASTC has overcome the difficult stages. However, it has created a sustainable belief
in everyone about Vietnamese stock market.
Realizing the important role of developing securities in Vietnamese finance and studying
about it for a long time, we see that there is still a part in security that IT has not yet exploited. That
is Management for registration and information of companies listed in the stock market.
At present, the traditional management model with documents, staff have to work with paper,
is quite well-liked or popular in Management for registration and information of companies listed at
the center. However, this model now has met some problems such as:
- Waste of time
- Need a lot of supervising staff
- Waste a large amount of money for printing documents and writing papers
- Do not avoid negative actions in management
- Decrease importunacy procedure
- And other unexpected problems…
Basing upon the current IT infrastructure of HASTC, as well as conforming to the rules and
principles of a management procedure for registration and information at the center, we decide to
build a system in order to deal with the drawbacks of such traditional exam model. It is called:
System for Registration and Supervision of securities listing company in HASTC. Its abbreviation
is: SLIMS – Stock Listing Company Management System.
HUT – Genetic computer school – Group 7 Page 4
Website: Email : Tel (: 0918.775.368
The system allows users at different level to manage user’s account and generate reports.
Employee is able to manage initial information, periodic information and extraordinary information
as well as calculate daily transaction of a company listed at the center. Some companies are granted
to control for an employee by an administrator. All of the above tasks are carried out through LAN
to help the management become easier and more convenient
The main purpose of the system is to serve HASTC in management for registration and
information of company listed at the center and assisting them for auctioning and bidding financial
assets such as: bonds, stocks … We hope that this system can increase the quality of operation as
well as partly contribute to the development of the center in particular and generally in Vietnamese
stock market.
1.2 BACKGROUND
What is Stock Listing Company Management System?
Differ from traditional Stock Listing Company Management System, SLIMS enables
employee from working with computer to use it proficiently in management. Furthermore,
employee will view information, edit listed company information, and give their opinions
aiming to develop the management of center better and better. In addition, the system also
support administrator effectively in performing tasks such as: managing employee, backing up
or restoring data. The system works with users in the faster, most effective and most friendly
way.
What are the purposes of Stock Listing Company Management System?
The main purpose of the is to serve HASTC in managing registration of listing companies in
centralized way, also in supplying necessary information about listing companies to employee
and involved people. We hope that this system can increase the quality as well as effect of
management, partly contribute to the development of stock market at the center in particular and
generally in Vietnam.
The professional knowledge of management involved:
- Managing registration for listing company.
- Managing additional adjustments after giving listing company’s permission.
HUT – Genetic computer school – Group 7 Page 5
Website: Email : Tel (: 0918.775.368
- Supervising listing companies.
- Managing audit company and auditor agreement.
This system will be run on LAN of Department for Transaction Management. It also allows
users at different level to manage user account, generate reports, create and adjust information of
listing companies. The outstanding advantage of the system is high security. The system is based
upon a principle: just an employee creates data then be able to edit data. In addition, SLIMS also
has other advantages in comparing with the traditional measure such as: save time, low cost, are
not waste of human resource, etc…Data of system are managed centrally by database
management system SQL Server 2000. Data are structured and unstructured (text file).
Because of the preeminent features that SLIMS provides, we hope that the system will give
users and administrators satisfactions when they use it.
1.3 EXISTING SYSTEM AND SLIMS
1.3.1 Current System
At present, with the traditional management model, all the tasks of Department for
Transaction Management performed with papers manually, from preparing and executing jobs
must be done for listing when it is ended.
As listing License is accepted, an employee is taken the management of some specific
companies by manager. If this employee is out of work or busy, company management is
interrupted. It takes a lot of time to give this work to another, as well as it takes a lot of time for
another to review. This management is ineffective and waste amount of money for printing data.
Question Paper
Our Stock Listing Company Management System seeks the answer to the following questions:
1. What are the objects and applying areas of the new program?
2. What ideas originated from employee/managers?
3. How are forms represented?
4. For what does the system need to provide?
5. How do employee/managers solve problems before the introduction of the program?
6. Where is data taken from?
HUT – Genetic computer school – Group 7 Page 6
Website: Email : Tel (: 0918.775.368
Magnetic tape/Compact Disk/Magnetic Compact Disk/Hard Disk/COM port/Outside System
7. How often is data exchanged?
Daily/Weekly/Fortnight/Monthly/Annually
8. How many people will access the system?
9. Who are allowed to modify input data?
10. How is data input?
11. Which information of employee/managers must you input?
12. Is the current service economic and does it meet the employee’s needs?
13. Any trouble arises from using it?
14. Is there any Stock Listing Company Management System used in Vietnamese stock market?
15. Is the infrastructure good enough for implementing the system?
16. What are the benefits of Stock Listing Company Management System compared to
conventional method of assessment?
17. Does the use of Stock Listing Company Management System require professional
knowledge?
18. What are the feedbacks and recommendations for the system?
19. How much does it cost for a system like Stock Listing Company Management System?
20. Does the administrator of the Stock Listing Company Management System need to have
professional knowledge?
1.3.2 SLIMS
In order to overcome the disadvantages of traditional model, we develop SLIMS, which is
applied to Department for Transaction Management at HASTC.
This system will be run on LAN of Department for Transaction Management. It also
allows users at different level to manage user account, generate reports, create and adjust
information of listing companies. The outstanding advantage of the system is high security. The
system is based upon a principle: just an employee creates data then be able to edit data. In addition,
SLIMS also has other advantages in comparing with the traditional measure such as: save time, low
cost, are not waste of human resource, etc…Data of system are managed centrally by database
HUT – Genetic computer school – Group 7 Page 7
Website: Email : Tel (: 0918.775.368
management system SQL Server 2000. Data are structured and unstructured (text file). And the
printer allows the user store documents.
1.4 PROJECT SCOPE
Based on discussed points, SLIMS is aimed to provide a system which can satisfy the
needs of users (including manager and employees) at Department for Transaction Management
of Hanoi Securities Trading Center. For the specific characteristics of Department for
Transaction Management, the system ensures the ability of managing user account, calculating
daily transactions, managing all general as well as extraordinary information of listing company
and generating reports. Together with the above main functions of the system, it extends some
functions help users easily access information of a company and total volume of daily
transactions.
Tools
o Microsoft Visual Studio.NET 2003 (for developing).
o Microsoft SQL Server 2000 personal version (for Database).
o The Unified Modeling Language (UML)
o Rational Rose 2003 (for modeling).
o Microsoft Visio 2003 (for documenting).
o Microsoft Project 2003 (for documenting).
o Microsoft Word 2003 (for documenting).
Infrastructure
To operate completely the system, we need a large amount of interconnected PCs that
forming a networked PC area (LAN). At present, the centre has a room with 10 PCs. With the
current PCs, that is enough for processing information of listing companies at the centre.
HUT – Genetic computer school – Group 7 Page 8
Website: Email : Tel (: 0918.775.368
Especially, we need at least one Server PC with the very high configuration. The advantage
of the client/server architecture is that the client and server machines work together to accomplish
the processing of the application being used. The processing capacity is improved and efficiently
utilized. The clients are optimized for user interaction. Meanwhile, centralized, multi-user
functionalities are performed by the servers. The database can be stored and backup in multiple
servers for data safety
HUT – Genetic computer school – Group 7 Page 9
Website: Email : Tel (: 0918.775.368
CHAPTER 2 - DEVELOPING TOOLS
2.1 MODELING LANGUAGE
2.1.1 Unified Modeling Language (UML)
UML is the modeling language. It includes the unified notations, meanings, and the
definitions about meta-model. UML is used to display, specify and built documentation. In
developing object oriented programs, it supports user to establish the reports, diagrams, forms,
Web pages…
UML is the standard language to build software detail plan. It’s suitable for such systems
like: business information system, web based distributed systems, real time embedded
systems…
In UML, there are vocabularies and rules that concentrate on displaying the system
physically and conceptually. This is the industrially standard language used to make software
detailed design.
UML is a graphical language with views and graphic notations allow designer to build
visual and friendly communication models.
UML concentrates on specifications of designing, analysis, and installation decisions in
the developing and deploying software system. It allows the designer to describe models exactly
and completely.
Although it is not visual programming language, UML’s model can directly link to other
programming languages. This means it’s enable to map models in UML to other programming
languages like Java, C++ and relational database tables, object orientated database tables… This
mapping allows consent converting from UML to programming languages and inverse
converting from installing to UML model, as well. That means, it supplies the ability to
consistent manipulate with documentation or graphic.
2.1.2 Rational Rose
HUT – Genetic computer school – Group 7 Page 10
Website: Email : Tel (: 0918.775.368
Rational Rose is a powerfully tool software that support analyzing, designing object
oriented software. It helps us to model the system before coding, so that the system can operate
exactly. Rose model includes all the UML diagrams, actors, use cases, object, classes,
components and deployment nodes… It describes in detail which the system includes, how the
system works so that the developer can use it as a detail plan for the system development.
Rose model is a system picture including all UML diagrams, actors, use cases, objects,
classes, components and deployment nodes. It details what the system includes and how it works
so that the system developer can use it like a detailed plan for building system. Rose supports to
solve an eternal problem – human force to communicate with customer and making decision
documents.
2.2 DATABASE MANAGEMENT SYSTEMS (DBMS)
A database management system (DBMS) is a software system used to create, access and
control the database. The DBMS serves as a bridge or interface, between the database and the
application programs, systems analysts, and end users of the database.
2.2.1 Introduction to DBMS
DBMS is a software system that enables users to define, create and maintain the database and
which provides controlled access to this database.
The DBMS is the software that interacts with the users’ application programs and the
database. Typically, a DBMS provides the following facilities: DBMS is a software system that
enables users to define, create and maintain the database and which provides controlled access to
this database.
It allows users to define the database, usually through a Data Definition Language (DLL).
The DLL allows users to specify the data types and structures, and the constraints on the data to
be stored in the database.
It allows users to insert, update, delete and retrieve data from the database, usually through
a Data Manipulation Language (DML). Having a central repository for all data and data
descriptions allow the DML to provide a general enquiry facility to the data, is called a query
language. The provision of a query language alleviates the problems with file-based systems
HUT – Genetic computer school – Group 7 Page 11
Website: Email : Tel (: 0918.775.368
where the user has to work with a fixed set of queries or there is a proliferation of programs,
giving major software management problems.
It provides controlled access to the database, for example, it may provide:
o A security system, which prevents unauthorized user from accessing the database.
o An integrity system, which maintains the consistency of stored data.
o A concurrency control system, which allows shared access of the database.
o A recovery control system, which restores the database to a previous consistent state
following a hardware or software failure.
o A user-accessible catalog, which contains description of the data in the database
2.2.2 Kinds of DBMSs
There are many types of DBMS, ranging from small systems that run on personal
computers to huge systems that run on mainframes. Each one has many advantages, along with
disadvantages. The following popular DBMSs:
Oracle
Oracle is a relational database system from Oracle Corporation extensively used in
product and internet-based applications in different platforms. Oracle is a powerful relational
database management system that offers a large feature set. Along with Microsoft SQL Server,
Oracle is widely regarded as one of the two most popular full-featured database systems today.
Oracle is only used for databases with huge size, from millions to tens millions of records.
Oracle database provides large company system products for transaction processing and decision
support. This DBMS provides a perfect solution to the development and deployment of
Clients/Server’s application. Because of complexity of database so disadvantages of Oracle are
high cost of maintaining database and training IT staff.
Microsoft SQL Server 2000
SQL Server 2000 is an RDBMS that uses Transact-SQL to send requests between a client
computer and a SQL Server 2000 computer. An RDBMS includes databases, the database
engine, and the applications that are necessary to manage the data and the components of the
HUT – Genetic computer school – Group 7 Page 12
Website: Email : Tel (: 0918.775.368
RDBMS. SQL Server 2000 can integrate in harmony with other servers such as Internet
Information Services (IIS), E-Commerce Server, Proxy Server, etc.
Although SQL Server 2000 is designed to work as the data storage engine for thousands
of concurrent users who connect over a network, it is also capable of working as a stand-alone
database directly on the same computer as an application. The scalability and ease-of-use
features of SQL Server 2000 allow it to work efficiently on a single computer without
consuming too many resources or requiring administrative work by the stand-alone user. The
same features allow SQL Server 2000 to dynamically acquire the resources required to support
thousands of users, while minimizing database administration and tuning.
MYSQL
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by MySQL AB company, it’s also a relational database management
system. MySQL software is Open Source means it is possible for anyone to use and modify the
software. Anybody can download the MySQL software from the Internet and use it without
paying anything. The MySQL Database Server is very fast, reliable, and easy to use. MySQL
Server also has a practical set of features developed in close cooperation with our users. MySQL
Server was originally developed to handle large databases much faster than existing solutions
and has been successfully used in highly demanding production environments for several years.
Though under constant development, MySQL Server today offers a rich and useful set of
functions. Its connectivity, speed, and security make MySQL Server highly suited for accessing
databases on the Internet. The MySQL Database Software is a client/server system that consists
of a multi-threaded SQL server that supports different back ends, several different client
programs and libraries, administrative tools, and a wide range of application programming
interfaces (APIs).
2.2.3 Choose DBMS and Explain Reasons
Choosing an appropriate DBMS with current system plays an important role that should
bases on various factors such as infrastructure, human resource, volume of information etc. The
Genetic Exam Online System is designed for serving examinations, thus size of database is not
HUT – Genetic computer school – Group 7 Page 13
Website: Email : Tel (: 0918.775.368
over large. With current infrastructure, MSSQL Server 2000 is a suitable choice along with
many benefits:
o Utilizing existing infrastructure
o MS SQL Server 2000 is easy-to-use and has user friendly interface
o Low overhead
o Integrated with Microsoft IIS
MS SQL Server 2000 is a perfect DBMS, provides a new generation of features and
functions, including many strong tools for managing and controlling database. Microsoft SQL
Server 2000 features include:
• Internet Integration.
The SQL Server 2000 database engine includes integrated XML support. It also has the
scalability, availability, and security features required to operate as the data storage component
of the largest Web sites. The SQL Server 2000 programming model is integrated with the
Windows DNA architecture for developing Web applications, and SQL Server 2000 supports
features such as English Query and the Microsoft Search Service to incorporate user-friendly
queries and powerful search capabilities in Web applications.
• Scalability and Availability.
The same database engine can be used across platforms ranging from laptop computers
running Microsoft Windows® 98 through large, multiprocessor servers running Microsoft
Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such
as federated servers, indexed views, and large memory support that allow it to scale to the
performance levels required by the largest Web sites.
• Enterprise-Level Database Features.
The SQL Server 2000 relational database engine supports the features required to support
demanding data processing environments. The database engine protects data integrity while
minimizing the overhead of managing thousands of users concurrently modifying the database.
SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it
HUT – Genetic computer school – Group 7 Page 14
Website: Email : Tel (: 0918.775.368
were a part of a SQL Server 2000 database, while at the same time, the distributed transaction
support protects the integrity of any updates of the distributed data. Replication also allows you
to maintain multiple copies of data, while ensuring that the separate copies remain synchronized.
You can replicate a set of data to multiple, mobile, disconnected users, have them work
autonomously, and then merge their modifications back to the publisher.
• Ease of installation, deployment, and use.
SQL Server 2000 includes a set of administrative and development tools that improve
upon the process of installing, deploying, managing, and using SQL Server across several sites.
SQL Server 2000 also supports a standards-based programming model integrated with the
Windows DNA, making the use of SQL Server databases and data warehouses a seamless part
of building powerful and scalable systems. These features allow you to rapidly deliver SQL
Server applications that customers can implement with a minimum of installation and
administrative overhead.
• Data warehousing.
SQL Server 2000 includes tools for extracting and analyzing summary data for online
analytical processing. SQL Server also includes tools for visually designing databases and
analyzing data using English-based questions.
In addition, Microsoft SQL Server 2000 extends the performance, reliability, quality, and
ease-of-use of Microsoft SQL Server version 7.0. Microsoft SQL Server 2000 includes several
new features that make it an excellent database platform for large-scale online transactional
processing (OLTP), data warehousing, and e-commerce applications.
The OLAP Services feature available in SQL Server version 7.0 is now called SQL
Server 2000 Analysis Services. The term OLAP Services has been replaced with the term
Analysis Services. Analysis Services also includes a new data-mining component. The
Repository component available in SQL Server version 7.0 is now called Microsoft SQL
Server 2000 Meta Data Services. References to the component now use the term Meta
Data Services. The term repository is used only in reference to the repository engine within Meta
Data Services.
HUT – Genetic computer school – Group 7 Page 15
Website: Email : Tel (: 0918.775.368
2.3 PROGRAMMING LAGUAGES
2.3.1 Introduction to Programming Language
A programming language is an artificial language used to write a sequence of instructions
(a computer program) that can be run by a computer. Similar to natural languages, such as
English, programming languages have a vocabulary, grammar, and syntax. However, natural
languages are not suited for programming computers because they are ambiguous, meaning that
their vocabulary and grammatical structure may be interpreted in multiple ways. The languages
used to program computers must have simple logical structures, and the rules for their grammar,
spelling, and punctuation must be precise. Programming languages vary greatly in their
sophistication and in their degree of versatility. Some programming languages are written to
address a particular kind of computing problem or for use on a particular model of computer
system. For instance, programming languages such as FORTRAN and COBOL were written to
solve certain general types of programming problems—FORTRAN for scientific applications,
and COBOL for business applications. Although these languages were designed to address
specific categories of computer problems, they are highly portable, meaning that they may be
used to program many types of computers. Other languages, such as machine languages, are
designed to be used by one specific model of computer system, or even by one specific computer
in certain research applications. The most commonly used programming languages are highly
portable and can be used to effectively solve diverse types of computing problems. Languages
like C, PASCAL, and BASIC fall into this category. Programming languages allow people to
communicate with computers. Once a job has been identified, the programmer must translate, or
code, it into a list of instructions that the computer will understand. A computer program for a
given task may be written in several different languages. Depending on the task, a programmer
will generally pick the language that will involve the least complicated program. It may also be
important to the programmer to pick a language that is flexible and widely compatible if the
program will have a range of applications. The examples shown here are programs written to
average a list of numbers. Both C and BASIC are commonly used programming languages. The
machine interpretation shows how a computer would process and execute the commands from
the programs.
HUT – Genetic computer school – Group 7 Page 16
Website: Email : Tel (: 0918.775.368
2.3.2 Programming Languages
2.3.2.1 Introduction to Object - Oriented Programming
The fundamental aspect of object-oriented programming is that a computer program is
composed of a collection of individual units, or objects. To make the computation happen, each
object is capable of receiving messages and sending messages to other objects. In this way,
messages can be handled by one chunk of code but may be done so by another code block
seamlessly. It is claimed then that this gives more flexibility over just step-by-step
programming, called imperative programming or structured programming in the field of
computer science. Thus, the challenge OOP programmers face is how to distribute responsibility
over objects, or classes--one of many popular implementation schemes.
Proponents of OOP also claim that OOP is more intuitive and, for those new to computer
programming, is easier to learn than a traditional way--breaking the computation into
procedures. In OOP, objects are simple, self contained and easily identifiable. This modularity
allows the program parts to correspond to real aspects of the problem and thereby to model the
real world. Indeed, object-oriented programming often begins from a written statement of the
problem situation. Then by a process of inserting objects or variables for nouns, methods for
verbs and attributes for adjectives, a good start is made on a framework for a program that
models, and deals with, that situation. This allows one to learn how to program in object-
oriented languages.
The majority of the computer programmers agree that OOP is a major advance on the
previous complexities of procedure based methods, as its popularity attests to the fact, and OOP
can be a major advantage in large projects where procedural methods tended to develop very
complicated conditional loops and branches, difficult to understand and to maintain.
2.3.2.2 Definition of Object-Oriented Programming (OOP)
Object-oriented programming (OOP) is a computer programming paradigm that
emphasizes the following aspects:
• Objects - packaging data and functionality together into units within a running computer
program; objects are the basis of modularity and structure in an object-oriented computer
program.
HUT – Genetic computer school – Group 7 Page 17
Website: Email : Tel (: 0918.775.368
• Abstraction - The ability for a program to ignore some aspects of the information it's
manipulating, i.e. the ability to focus on the essential.
• Encapsulation - The ability for the program to hide information about the implementation of
a module from its users, i.e. the ability to prevent users from breaking the invariants of the
program.
• Polymorphism - The ability of an entity to stand for different things based on its context of
use.
• Inheritance - Defining classes as extensions of existing classes.
The definitions of OOP are disputed. In the most general sense, object-oriented
programming refers to the practice of viewing software primarily in terms of the "things"
(objects) it manipulates, rather than the actions it performs. Other paradigms such as
functional and procedural programming focus primarily on the actions, with the objects being
secondary considerations; in OOP, the situation is reversed.
OOP itself has been used to market many products and services and the actual
definitions and benefits attributed to OOP have often been colored by commercial marketing
goals. Similarly, many programming languages have a specific view to OOP that is less
general in certain aspects from the more general definition.
Widely-used terminology distinguishes object-oriented programming from object-
based. The former is held to include inheritance (described below), while the latter does not.
2.3.2.3 Benefits of Object-Oriented Programming (OOP)
Have you wondered why modern programming languages tend to be object-
oriented? C++ was created as an extension of C to support OOP. And Java, one of the most
popular languages on the planet, is also an OOP language. Then, of course, Visual Basic has
evolved into VB.NET, a fully OOP language. There is a good reason for this transformation.
OOP offers several benefits, such as easy code maintenance, extensibility, and code reuse,
not found in procedural programming languages. Some of the benefits are outlined below.
• Easy Maintenance. Modularity is inherent in OOP. Entities are represented
by classes and classes with the same functionality are located in the same namespace
(package). You can add a class into a namespace without affecting other members of the
namespace.
HUT – Genetic computer school – Group 7 Page 18
Website: Email : Tel (: 0918.775.368
• Extensibility. OOP naturally supports extensibility. Having a class with
certain functionality, you can quickly extend that class to create a different class with
extended functionality.
• Code Reuse. Since functionality is encapsulated into a class and each class is
an independent entity, providing a library is very easy. In fact, programmers of any .NET
Framework language can and should use the .NET Framework class library, an extensive
library that provides rich functionality. Better still, you can extend the functionality of
the class library to provide classes that suit your needs.
2.3.3 Choose Programming language and explain reasons
In order to develop Stock Listing companies Management System, we use
programming language C# (pronounced C sharp). C# is one of programming languages in
toolbox Visual Studio.Net, one strategic product of Microsoft. It is one advanced object-
oriented programming language which assists effectively programmers in constructing
applications above Microsoft.Net platform in a convenient and fast way.
An evolution of C and C++, C# is simple, modern, type-safe, and object-oriented. It was
designed for building a wide range of enterprise compiled as managed code, which means it
benefits from the services of the Common Language Runtime. These services include language
interoperability, garbage bolection, enhanced security, and improved versioning support.
C# is fully supported within Visual Studio .NET by project templates, designers, property
pages, code assistants, an object model, and other features of the development environment. The
library for C# programming is the .NET Framework.
C# includes following salient properties:
- Productivity and safety:
• It supports all existing standards about programming
• It minimizes serious faults
• It minimizes expenses for developing software with integrative supporting tool
in deciding version.
- Robustness, convenience and activeness:
HUT – Genetic computer school – Group 7 Page 19
Website: Email : Tel (: 0918.775.368
• It is easy to constructing all functions of application software from
professional skill process.
• High interactive property, it provides internal supporting mechanism for
COM and Windows based API.
• It supports Unicode wholly.
Hence we choose C# programming language as developing tool for this project.
2.4 OTHER TOOLS
2.4.1 Platform
Windows 2000 Server SP (service pack) or later
Windows Server 2003 is the most productive infrastructure platform for powering
connected applications, networks, and Web services from the workgroup to the data center. Easy
to deploy, manage, and use, Windows Server 2003 helps you build a secure IT infrastructure that
provides a powerful application platform for quickly building connected solutions and an
information worker infrastructure for enhanced communication and collaboration anytime and
anywhere.
The Windows Server 2003 operating systems build on the proven reliability, scalability,
and manageability of Windows 2000 Server while improving essential services. Now with
enhanced security and better performance, Windows Server 2003 offers the best server
infrastructure for increasing IT efficiency, developing applications quickly, and enhancing
productivity. As of March, 2005, the Windows Server 2003 operating systems ship with Service
Pack 1 (SP1).
Your organization can reap the cost-saving and productivity-enhancing benefits of the
highest quality Windows Server ever. And a worldwide network of partners can help you build
the solutions you need.
2.4.2 Developing Tool
Microsoft .Net Framework
HUT – Genetic computer school – Group 7 Page 20
Website: Email : Tel (: 0918.775.368
The .NET Framework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet. 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 guarantees 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 remote, while
also enforcing strict type safety and other forms of code accuracy that ensure 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 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.
HUT – Genetic computer school – Group 7 Page 21
Website: Email : Tel (: 0918.775.368
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. For example, users can trust that an
executable embedded in a Web page can play an animation on screen or sing a song, but cannot
access their personal data, file system, or network. The security features of the runtime thus
enable legitimate Internet-deployed software to be exceptionally featuring rich.
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 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. For example, the runtime automatically handles object layout and manages references to
objects, releasing them when they are no longer being used. This automatic memory
management resolves the two most common application errors, memory leaks and invalid
memory references.
The runtime also accelerates developer productivity. For example, programmers can
write applications in their development language of choice, yet take full advantage of the
runtime, the class library, and components written in other languages by other developers. Any
HUT – Genetic computer school – Group 7 Page 22
Website: Email : Tel (: 0918.775.368
compiler vendor who chooses to target the runtime can do so. Language compilers that target the
.NET Framework make the features of the .NET Framework available to existing code written in
that language, greatly easing the migration process for existing applications.
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 language
runtime provides many standard runtime services, managed code is never interpreted. A feature
called just-in-time (JIT) compiling enables all managed code to run in the native machine
language of the system on which it is executing
Finally, the runtime can be hosted by high-performance, server-side applications, such as
Microsoft® SQL Server™. 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 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.
For example, the .NET Framework collection classes implement a set of interfaces that
you can use to develop your own collection classes. Your collection classes will blend
seamlessly with the classes in the .NET Framework.
As you 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
HUT – Genetic computer school – Group 7 Page 23
Website: Email : Tel (: 0918.775.368
scenarios. For example, you can use the .NET Framework to develop the following types of
applications and services:
o Console applications.
o Windows GUI applications (Windows Forms).
o Windows services.
For example, the Windows Forms classes are a comprehensive set of reusable types that
vastly simplify Windows GUI development.
Visual Studio .NET 2003
Today Microsoft Visual Studio.Net is one of the most actively and commonly used
programming toolbox based on Windows operating system platform. Microsoft Visual
Studio.Net brings out new programming method, enhances speed of programming compare to
traditional method, at the same time supports programming tools easy to use. On the other
hand, Microsoft Visual Studio.Net helps to create interface for application fast, beautifully and
friendly with users. An approach to Microsoft Visual Studio.Net follows visual way. The
results of each work stage as well as whole system can be verified through step by step and
supported much in programming process.
Visual Studio .NET comes in any of three levels of capability and price: Professional,
Enterprise Developer (which includes Microsoft's SQL Server), and Enterprise Architect (which
includes the Visio product for modeling an application program). Existing users of Microsoft's
Visual line and related languages may upgrade to Visual Studio .NET for a discount from the
full price.
Visual Studio .NET is generally comparable to Sun Microsystems' J2EE.
2.4.3 System design tool
Rational Rose
HUT – Genetic computer school – Group 7 Page 24
Website: Email : Tel (: 0918.775.368
Rational Rose is a powerful tool that supports for object-oriented analyzing and designing
developed by Rational. Rational Rose helps us modeling system before starting programming;
therefore we can image system concretely from beginning to end the project.
All models constructed by Rose are a panoramic picture of system. It can set up all diagrams
follow visual modeling language UML such as Usecase, Sequence, State, Class diagram….It
helps us modeling detailed components and operations of system. Therefore programmer can use
it as a design through the process of carrying out constructing system.
System modeling gives us a working process that follows approach:
Table 2.4.3 Working process follows system modeling approach
Following this method, all members that take part in project can together discuss about
system design before beginning programming, therefore all members in system can avoid
misunderstanding requirements of the math.
2.4.4 Report designing tool
Crystal Report for Visual Studio.Net
Crystal Report for Visual Studio.Net is a tool for making standard reports of Visual
Studio.Net. It brings about for programmer ability of making complex reports which has high
professional degree. Instead of programming, programmer can use Crystal Report Designer to
making and formatting reports. Crystal Report has powerful report processing mechanism that
automatically processes all declaration about formatting, group of information or charts which
programmer gives out. In Visual Studio.Net, We can make a new report or insert an available report
into application.
CHAPTER 3 - SYSTEM ANALYSIS
3.1 DETERMINING REQUIREMENTS OF THE SYSTEM
HUT – Genetic computer school – Group 7 Page 25
Request Object
Model
Resource
Code