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 hel
103 trang |
Chia sẻ: huyen82 | Lượt xem: 1774 | Lượt tải: 0
Tóm tắt tài liệu Stock Listing Company Management System, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ped, 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
TABLE OF CONTENTS
CHAPTER 1 – INTRODUCTION
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.
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.
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.
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.
EXISTING SYSTEM AND SLIMS
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:
What are the objects and applying areas of the new program?
What ideas originated from employee/managers?
How are forms represented?
For what does the system need to provide?
How do employee/managers solve problems before the introduction of the program?
Where is data taken from?
Magnetic tape/Compact Disk/Magnetic Compact Disk/Hard Disk/COM port/Outside System
How often is data exchanged?
Daily/Weekly/Fortnight/Monthly/Annually
How many people will access the system?
Who are allowed to modify input data?
How is data input?
Which information of employee/managers must you input?
Is the current service economic and does it meet the employee’s needs?
Any trouble arises from using it?
Is there any Stock Listing Company Management System used in Vietnamese stock market?
Is the infrastructure good enough for implementing the system?
What are the benefits of Stock Listing Company Management System compared to conventional method of assessment?
Does the use of Stock Listing Company Management System require professional knowledge?
What are the feedbacks and recommendations for the system?
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?
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 management system SQL Server 2000. Data are structured and unstructured (text file). And the printer allows the user store documents.
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
Microsoft Visual Studio.NET 2003 (for developing).
Microsoft SQL Server 2000 personal version (for Database).
The Unified Modeling Language (UML)
Rational Rose 2003 (for modeling).
Microsoft Visio 2003 (for documenting).
Microsoft Project 2003 (for documenting).
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.
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
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
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 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:
A security system, which prevents unauthorized user from accessing the database.
An integrity system, which maintains the consistency of stored data.
A concurrency control system, which allows shared access of the database.
A recovery control system, which restores the database to a previous consistent state following a hardware or software failure.
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 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 over large. With current infrastructure, MSSQL Server 2000 is a suitable choice along with many benefits:
Utilizing existing infrastructure
MS SQL Server 2000 is easy-to-use and has user friendly interface
Low overhead
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 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.
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.
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.
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.
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._.
Các file đính kèm theo tài liệu này:
- V0105.doc