IMPLEMENTATION OF A MIS TOOL BASED ON OPEN XML

advertisement
IMPLEMENTATION OF A MIS TOOL BASED ON OPEN XML
BEHDAD BANIANI
A project report submitted in partial fulfillment of
The requirements for the award of the degree of
MSc. (Computer Science – Teal Time Software Engineering)
Centre for Advanced Software Engineering
Faculty of Computer Science and Information System
Universiti Teknologi Malaysia
MARCH 2009
iii
To my beloved Father and Mother who are always supporting me
iv
ACKNOWLEDGEMENT
In preparing this thesis, I have research and read many papers and articles
that have greatly enhanced my understandings; I would like to thank all the authors
whom have contributed to those papers and articles. I was also in contact with my
working colleagues and lecturers who have contributed to my ideas. In particular, I
wish to express my sincere appreciation and gratitude to my Academic Mentor and
supervisor, Prof Dr Shamsul bin Sahibuddin and my industrial Mentor, Mr.
Swaminathan Krishnamurthy for their guidance, advices and cities. Without their
support and interest, this project would be the same as presented here.
I also wish to express my sincere thanks to all the lectures who have taught
me in Centre for Advanced Software Engineering (CASE), Universiti Teknologi
Malaysia (UTM) for their guidance, indulgence and patience during the course of my
postgraduate studies.
v
ABSTRACT
The purpose of this project is to develop a MIS (Management Information
System) based on Open XML standard which could be supported in Microsoft Excel
Application therefore; this system can use all the Microsoft Excel features.
SolonExcel provides possibility to create a template which contains layout and data
model of the report. Reports are being generated by the mentioned templates, in this
case customized report based on desired data and query is provided in Microsoft
Excel file format which can be more customized with Microsoft Excel Application.
The system is developed as a three tiers model and running over intranet. This
software is not a decision maker it is just a tool to help decision makers to have a
better decision.The methodology for the project is V-Model. Analyzing and
development of design and requirements are done by Unified Modeling Language
2.0 also known as UML. The system was built on .Net framework platform. This
software is a product of Pentasoft Sdn. Bhd.
vi
ABSTRAK
Tujuan utama projek ini adalah untuk membangunkan MIS (Sistem
Pengurusan Informasi). Sistem Pengurusan Informasi ini dibagunakan berdasarkan
Piawai Terbuka XML di mana ia boleh menyokong aplikasi Microsoft Excel . Oleh
yang demikian, sistem ini membolehkan semua ciri-ciri Microsoft Excel digunakan.
Solon Excel menyediakan kebolehupayaan untuk mencipta pola (template) yang
mengadungi susunan dan laporan model data. Laporan akan dihasilkan oleh pola
(template) yang terakhir. Di dalam kes ini, laporan telah ditentukan berdasarkan data
yang diperlukan dan soalan yang disediakan di dalam Microsoft Excel format fail di
mana ia boleh di tentukan dengan menggunakan applikasi Microsoft Excel. Sistem
ini di bina sebagai tiga baris model dan disalurkan melalui intranet. Metodologi
projek ini adalah V-Model. Analisa dan pembinaan rekabentuk serta keperluan telah
dibuat menggunakan Unified Modeling Languange 2.0 yang juga dikenali sebagai
UML. Sistem ini telah di bina di dalam perangkaan platform .Net. Software ini
adalah produk kepada Pentasoft. Sdn. Bhd.
vii
TABLE OF CONTENTS
CHAPTER
1
TITLE
PAGE
DECLARATION
ii
ACKNOWLEDGEMENT
iv
ABSTRACT
v
ABSTRAK
vi
TABLE OF CONTENTS
vii
LIST OF TABLES
x
LIST OF FIGURES
xi
LIST OF ABBREVIATIONS
xiii
LIST OF APPENDICES
xiv
PROJECT OVERVIEW
1
1.1
Organization Background
1
1.2
Mission And Vision
2
1.3
Corprate Structure
3
1.4
Core Business – Products And Services
3
1.4.1 PentaISF
4
1.4.2 PentaLIFE
6
1.4.3 PentaI-LINK
6
1.4.4 PentaTAKAFUL
7
1.5
Company’s Recognitions
8
1.6
Problem Statement
9
1.6.1 Current Situation
9
viii
2
3
PROJECT OBJECTIVE
2.1
Vision Statement
10
2.2
Project Objectives
10
2.3
Project Scopes
11
2.4
Project Deliverables
11
2.5
Project Plan
12
LITERATURE STUDY
13
Existing Third Party Product
13
3.1.1 Sql Excel Tool Bar
13
3.1.2 Office Excel Add-in for SQL Server Analysis Services
14
Technology
15
3.2.1 Information
15
3.2.2 System
16
3.2.3 Information Systems
16
3.2.4 Management Information System (MIS)
17
3.2.5 XML
20
3.2.6 Open XML
22
3.2.7 Microsoft Excel
33
3.2.8 .NET Framework
43
3.2.9 Rational rose enterprise edition 2002
48
Project Methodology
51
3.3.1 Advantages and disadvantages
55
REQUIREMENT ANALYSIS AND DESIGN
56
4.1
Requirements
56
4.1.1 Meetings
56
4.1.2 Studying previous systems
57
4.1.3 Achievements
58
4.1.4 General Requirement Diagrams
58
Design
64
4.2.1 R&D
64
4.2.2 Training
64
4.2.3 Designing the system
65
3.1
3.2
3.3
4
10
4.2
ix
5
65
4.2.5 CSC 01_Template [SDD_REQ_100]
65
4.2.6 CSC 02_Report [SDD_REQ_200]
67
4.2.7 CSC 03_Security [SDD_REQ_300]
68
4.2.8 CSC 04_Add-In [SDD_REQ_400]
70
4.2.9 CSC 05_SolonWebService [SDD_REQ_500]
71
4.2.10 Class Diagram of the system
72
4.2.11 Achievement
73
4.2.12 Three Tier Architecture
74
4.2.13 Requirement Traceability
76
IMPLEMENTATION AND TESTING
5.2
5.3
6
4.2.4 CSCI Design Description
82
5.1.1 Implementation
82
5.1.2 Testing
90
System Requirements
91
5.2.1 Hardware / Software Selection Criteria
91
Deployment Diagram
92
CONCLUSION
93
6.1
Expectation
93
6.2
Project Review
93
6.2.1 Software Project
94
6.2.2 Engineering Software Documents
94
6.2.3 Personal Experiences
94
Future work and Recommendation
95
6.3
REFERENCES
APPENDICES A-D
97
120-146
x
LIST OF TABLES
TABLE NO.
TITLE
PAGE
2.1
List of deliverables ...............................................................................12
4.1
List of CSUs in CSC 01_Template ......................................................66
4.2
List of CSUs in CSC 02_Report...........................................................68
4.3
List of CSUs in CSC 03_Security ........................................................69
4.4
List of CSUs in CSC 04_Add-In ..........................................................70
4.5
List of CSUs in CSC 05_SolonWeservice ...........................................71
4.6
Traceability Table.................................................................................76
5.1
Comparing performance of query execution in Data Providers .........83
5.2
Stand-Alone Criteria.............................................................................91
5.3
Server And Database Criteria ...............................................................91
xi
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
1.1
List of Pentasoft products ......................................................................2
1.2
figure of Pentasoft structure ..................................................................3
1.3
PentaISF Architecture ...........................................................................5
1.4
PentaTAKAFUL Architecture ..............................................................7
3.1
MIS Architecture .................................................................................18
3.2
Components of OpenXML .................................................................27
3.3
WordprocessingML document structure ............................................28
3.4
SpreadSheetML Structure ..................................................................30
3.5
Elements of PresentationML ..............................................................31
3.6
.NET Framework .................................................................................44
3.7
Server-side managed code ...................................................................46
3.8
Rational capabilities ...........................................................................51
3.9
V-Model ..............................................................................................53
3.10
V-Model levels and structure ..............................................................54
3.11
Cost of quality ....................................................................................54
4.1
System use case ....................................................................................59
4.2
Authentication Sequence Diagram .......................................................60
4.3
Create Template Sequence Diagram ....................................................61
4.4
Edit Template Sequence Diagram .......................................................62
4.5
Generate Report Sequence Diagram ...................................................63
4.6
CSC 01_Template package .................................................................67
4.7
Relationship of CSC 02_Report with other CSCs...............................68
4.8
Relationship of CSC 03_Security with other CSCs ............................69
4.9
Relationship of CSC 04_Add-In with other CSCs ..............................71
4.10
Relationship of CSC 05_SolonWebservice with other CSCs .............72
xii
4.11
Class Diagram of SolonExcel..............................................................73
4.12
Structure of Three Tier Architecture ...................................................74
5.1
Login Form ..........................................................................................83
5.2
Security Warning.................................................................................84
5.3
Selecting Views ...................................................................................84
5.4
Selecting fields ....................................................................................85
5.5
Join Form.............................................................................................85
5.6
Condition Form ...................................................................................86
5.7
Sorting and Finalizing Form................................................................86
5.8
Browse Form .......................................................................................87
5.9
Report Result .......................................................................................88
5.10
Report Result With Chart and Pivot Table ..........................................89
5.11
General Process Figure ........................................................................90
5.12
Deployment Diagram ..........................................................................92
6.1
SolonExcel Logo .................................................................................95
xiii
LIST OF ABBREVIATIONS
SRS
-
Software Requirements Specification
IEEE
-
Institute of Electrical and Electronic Engineers
SDD
-
Software Design Document
VB.NET
-
Visual Basic .NET
MS
-
Microsoft
API
-
Application Programming Interface
IT
-
Information Technology
IDE
-
Integrated Development Environment
WPF
-
Windows Presentation Foundation
LINQ
-
Language Integrated Query
ODF
-
Open Document Format
XML
-
Extensible Markup Language
ISO
-
International Standards Organization
CTS
-
Common Type System
CLR
-
Common Language Runtime
MFC
-
Microsoft Foundation Class
RAD
-
Rapid Application Development
OLEDB
-
Object Linking and Embedding Database
ODP
-
Oracle Data Provider
xiv
LIST OF APPENDICES
APPENDIX
TITLE
PAGE
A
PROJECT GANT CHART .................................................................100
B
TEST SCRIPTS ...................................................................................146
C
SOFTWARE REQUIREMENTS SPECIFICATIONS ................. Error!
Bookmark not defined.
D
defined.
SOFTWARE DESIGN DESCRIPTIONS ............Error! Bookmark not
CHAPTER 1
1. PROJECT OVERVIEW
1.1
Organization Background
PENTASOFT delivers business solutions using Information, Communication
and Entertainment (ICE) Technologies. We focus on strategic intent of our
Customers, their people & processes, to deliver personalized business solutions.
We concentrate on the Financial Services Industry and specialize in: Insurance
Software and Services.Deep domain knowledge and focused approach to the Industry
have enabled us to adopt business oriented approach to successfully address the pain
points of our Insurance customers. As a result we have earned respect as one of the
very first companies who could combine business knowledge as well as technology
to develop innovative and effective, user-friendly Insurance Solutions.
2
Figure 1-1 List of Pentasoft products
Pentasoft Integrated Insurance Solution (PentaISF) serves as a single solution for all
lines of Insurance business; Life, Group Life, Investment Linked, General and
Takaful (Islamic Insurance). The proven Insurance solutions have been implemented
successfully at several customers' sites, internationally.
1.2
Mission and vision
The
mission
is
to
"Prosper
our
Customers
using
ICE
Technologies“(Information, Communication and Entertainment). Pentasoft prospers
its customers by empathizing with them, and by assisting to generate value for their
ventures. Pentasoft strongly believe that if the Customers prosper, Pentasoft will
prosper along with them.
"Enrich to be Rich” is the vision Pentasoft enriches itself, the Colleagues, the
Partners, thereby enriching the Customers.
3
1.3
Corporate Structure
At Pentasoft, teams are organized into molecules to deliver a specific tasks.
The competencies required for each team are specified. Number of such
competencies needed is determined.
Figure 1-2 figure of Pentasoft structure
Individuals are then identified by matching their knowledge, expertise, and
experience with the competencies required. They may operate locally or remotely.
The teams are known as molecules and every required competency is known as
atom. The activities performed by the molecules are managed by schedules.
Individual schedules are governed by master schedules.
1.4
Core Business – Products and services
Core, Common and Specific as the three layers modeling the business enable
full integration of the end-to-end solution. As a result of integration and process-
4
orientation, all essential functions necessary for the workflow in an insurance
company have been incorporated into the software. Furthermore, this unique
framework allows us to combine the flexibility of incorporating special features
required by individual companies with the permanence of steady common functions
needed in all lines of insurance business.
Pentasoft understands the needs of insurance customers and are determined to make
their business grow with technology. We put in tremendous effort to understand our
Customer's business challenges, suggest improvements to business processes, and
most of all, work as partners. The solution allows continuous product devolvement
and most importantly, reduced reliance on Pentasoft as the entire system is
parameterised. PentaISF™ is designed for insurance companies to manage its
operations end-to-end efficiently and with a lean team. It is in essence a one-stopsolution which will provide value for a composite insurance company.
1.4.1
PentaISF
Pentasoft has developed a comprehensive, integrated software solution for the
insurance and takaful industry - PentaISF™
PentaISF™ is process-oriented and integrated application software suitable for all
lines of insurance business.
ISF™ stands for “Insurance Solution Framework”. It is referred to as a framework
because it is set up as a three layer system:
•
At the core of PentaISF™ stand the policy holder and the channel database
followed by two layers of functions.
•
All common functions across the various lines of insurance business are
separated from the
•
•
Functions specified for each individual insurance product.
5
Figure 1-3 PentaISF Architecture
PentaISF™ was designed to adapt to the rapid changes in the insurance industry. It is
a robust and flexible system developed and running on the world’s favourite database
in the financial industry. Oracle was one of the first to come to the market and is the
only successful relational data base management system that was and still remains
popular. Being very marketing-oriented Oracle is extremely quick in incorporating
evolving new open technologies as well. As solution developers we ensure our
customers won’t be tied down to a company that does not continually enhance its
products. Technology wise, it is an innovative and proven solution that employs
Oracle database and development technology, proven client-server deployment
architecture, and uses OPEN and de-facto standards.
6
1.4.2
PentaLIFE
PentaLIFE© is the Solution for Life Insurance Companies. It is a
comprehensive customer based solution which comprises complete e2e business
processes of traditional life insurance.
Taking today's business challenges that the insurance industry is facing into
consideration PentaLIFE© is ideal for automating and managing the front-end
operations in a Life Insurance Organisation and furthermore provides multilanguage, multi-currency, and multi delivery system functionalities.
1.4.3
PentaI-LINK
PentaI-LINK© - is a component of PentaISF™ (Insurance Solution
Framework) it is a complete e2e solution for Unit Link Administration needs of Life
Insurance Company.
PentaI-LINK© - Investment Linked Insurance Solution helps insurance companies
manage their life operations as well as the policy holders' Investment Portfolios.
With the flexible “Plan Wizard” insurance companies can create their Investment
Link Insurance products such as a Single Premium Investment Plan, Yearly
Renewable Flexible Plan, Investment Linked, Annuity Plan, Group Investment
Linked Insurance Plan and Investment Plus Endowment Plans.
7
©
1.4.4
PentaTAKAFUL
PentaTAKAFUL© is a comprehensive system designed to manage the
insurance activities in an Islamic way. The solution is flexible to accommodate the
different views of Syariah in different countries. Especially with the now growing
acceptance of Takaful Insurance globally.
PentaTAKAFUL© is one of the leading Takaful Solution on the market.
We are not just software developers. We have the business knowledge. We are
continually researching and developing new ways of improving and delivering our
solutions. To seize these business opportunities and meet the challenges of the
Takaful industry a strong and flexible IT foundation that supports the organization’s
business needs is required - The key to running a successful insurance company is
operational efficiency and customer service.
Figure 1-4 PentaTAKAFUL Architecture
8
PentaTAKAFUL© enables your customer service to be most efficient and serve
policyholders at one-point of service regardless what function is desired.
1.5
Company’s Recognitions
MSC Malaysia Capability Development,Deloitte's Asia Pacific Technology
Fast 500 Award, 2004.As one of the fastest growing company in the Asia Pacific
Region, Pentasoft has been honored with the Asia Pacific Fast 500 Award, for the
second year in succession.
The judgment was made by one of the most prestigious consulting group - Deloitte,
through this award program that rates the most dynamic and fastest growing
companies from all over the Asia Pacific Region.
Brief about Deloitte's Asia Pacific Technology Fast 500 Award, 2004,The
Deloitte's Asia Pacific Technology Fast 500 award is a ranking of fast growing
technology companies in Asia Pacific such as Australia, China, Hong Kong, India,
Indonesia, Japan, Macau, Malaysia, Philippines, New Zealand, Singapore, South
Korea, Taiwan and Thailand. It includes all of technology, from Internet to life
sciences, computers to semiconductors. It includes both public and private
companies. The program is part of a truly integrated global program recognizing the
world's fastest growing and most dynamic technology companies.
Outstanding ISV (Independent Software Vendor) of the Year Award,Pentasoft has
also been recognized by its business partner, ORACLE for exhibiting an outstanding
performance as an ISV in 2003, Malaysia.
Asia Pacific ICT Award,Pentasoft has won the 2003 MSC Asia Pacific ICT Award
(APICTA) - Merit Award for its Integrated Insurance Solution Framework –
PentaISF.
9
1.6
Problem Statement
Financial and insurance systems are possessing mass of information and data
which are highly valuable for management and decision makers, but these data
should be in right direction to be useful other than this it could be distractive and
complicated and might cause wrong business target aiming. Although most of the
financial systems have reporting system as well but because of being complex and
vast varied of circumstances of the financial aspects, it is always a major need to
have a flexible and dynamic system could consume these system data and provides
reports which meet the user criteria.
1.6.1
Current Situation
PentaISF is a strong back office Insurance Solution with a vast functionality
and tight integration. Most of the business logic is written in Oracle-PLSQL and is
consumed in Oracle Forms and Oracle Reports. There are almost 1500 reports which
are generated from system based on the scenario. All these reports were developed
using Oracle Reports. If any changes required by the business user, this need to be
raised as change request to Pentasoft development team, this follows the change
request process. This involves an intervention of oracle report developers to get the
letters modified and move it to production.
•
There was no dynamic report based on databases regarding the content.
•
There was no customization for reports provided by the systems regarding the
layout.
•
There was no privilege management for reports usage.
•
There was no compatibility to Microsoft products such as Microsoft Office
products.
CHAPTER 2
2. PROJECT OBJECTIVE
2.1
Vision Statement
To develop a systematic and user friendly system with highly establishment
of Software Engineering principles in the project. To have a MIS system based on
Open XML technology and using Microsoft Excel as host and providing fundamental
information management features.
2.2
Project Objectives
The objective of this project is to prepare requirements and design and
implement a MIS tool that assists the insurance softwares product of the company to
create reports based on their databases which are customized by the users and
provide the ability to use Microsoft excel environment in order to store the data and
use its features toward the user requirements in the reports. In order to achieve these,
the system shall have the following capabilities:
•
Creation and customization of report templates and providing the capability
of defining charts, pivot tables, conditional formatting, and Auto filtering,
conditional tables with dynamic generation feature.
11
•
Saving the templates information in order to trace and reuse them.
•
Generation of the report based on the templates without any extra setup to
allow the management to perform records quires and analysis to assist them
in making business decisions.
2.3
Project Scopes
This project will involve preparing requirement and design and development
of a MIS tool based on Open XML standards as which uses Microsoft Excel
environment as its host that will meet the objectives as set forth above. At the end of
the project duration this system will be a three-tier Microsoft Excel Add-in and
windows based. The system will consist of the following modules:
•
Module to check user privilege for using the system based on a security
system as another product of Pentasoft.
•
Module to enable the system to create the data structure of the report as a
template and setup the features of Microsoft Excel that will be used as the
template is going to be populated with real data.
•
Module to show all the prepared and existing templates ready to be used.
•
Module to edit the existing templates based in new requirements of the user.
•
Module to generate reports based on the existing templates and launch
predefined excel features modified in the existing templates with real data.
2.4
Project Deliverables
The main project’s deliverables are standard documents and a report, as
follows:
12
Table 2.1: List of deliverables
No
Name
1
Technical report
Receiver
U.T.M
Academic supervisor(Dr
Shamsul bin Sahibuddin)
Pentasoft Sdn Bhd
Industial supervisor(Mr.
Swaminathan Krishnamurthy)
2
Software Requirements
U.T.M
Specifications(SRS)
Academic supervisor(Dr
Shamsul bin Sahibuddin)
Pentasoft Sdn Bhd
Industrial supervisor(Mr.
Swaminathan Krishnamurthy)
3
Software Design
U.T.M
Description(SDD)
Academic supervisor(Dr
Shamsul bin Sahibuddin)
Pentasoft Sdn Bhd
Industrial supervisor(Mr.
Swaminathan Krishnamurthy)
4
Software source code
Pentasoft Sdn Bhd
Industrial supervisor(Mr.
Swaminathan Krishnamurthy)
2.5
Project Plan
The duration allotted for this project is five months. The project Gantt chart is shown
as appendix A.
CHAPTER 3
3. LITERATURE STUDY
3.1
Existing Third party product
In this part some third parties will be introduced.
3.1.1
SQL EXCEL TOOL BAR
This tool is an add-in for Microsoft Excel. SQL Excel is an Excel Add-in that
can run in Excel 2000, 2002(XP), 2003 and 2007, SQL Excel is a Freeware. SQL
Excel adds database access to MS Excel. SQL Excel has a graphic interface it is
possible to set up by the user. After installing, an Extra Excel Toolbar will be added
to the Excel, This toolbar holds 1 dropdown ComboBox and four different buttons
and gives you access to all of the functionality of the Add-ins. The ComboBox holds
all available connections and can be used to connect to and view the available
selectable objects within a database. The additional toolbar is the only interface
change you will have in Excel, so there is no Extra Menu for the Add-in. Also there
is no extra entry in the List for the add-in. SQL Excel can connect to all standard
databases so it can easily consolidate data from different data sources (e.g. MS SQL
Server, MS Access, Oracle and MYSQL). The add-in is used to import data and then
14
by using Excel's power to analyze it in more detail if needed. To connect to a
database once it has been set up a connection profile it can be connected to database
by selecting the database profile name from the dropdown box and hit the "SQL"
Button. When it is hit the "SQL" button with a database selected in the dropdown the
main SQL Excel form will load and then the databases selectable objects (the tables
and views) on the right hand side of the form will be shown. The core functionality
of the add-in is the retrieval of the data into Excel and the "SQL" button on the
toolbar loads the main form. This form has been setup to make it easy to switch
between
different
databases
(and
providers)
and
it
can
be
switched
connection/provider by clicking the ComboBox towards the top left of the form and
selecting an entry (this will disconnect the current connection automatically). To get
the data from a database into Excel you execute a query or select statement on the
form. SQL Excel supports two way queries building so you can build the query
manually by typing it in to the text box or do it the easy way by dragging the relevant
objects (tables or views) across in the objects area of the form. Then it can be clicked
the different options you want in the form and build the query visually in a very
similar way than you would do in Microsoft Access or SQL Server.
3.1.2
The Microsoft Office Excel Add-in for SQL Server Analysis Services
Microsoft Office Excel is a data analysis and reporting tool in many
businesses. Tools that help financial people and business decision makers that help
them understand business follow better, so they can make decisions that help to
increase the productivity of their organizations. The Excel Add-in for Analysis
Services enables users to perform advanced reporting and analysis in the same
application while leveraging their existing knowledge of excel. It increases the
benefit in the technology investments by adding to the capabilities of desktop and
server technologies already in the business.
15
3.1.2.1 Extending Excel’s reporting capabilities
The Accelerator is an Add-in to Microsoft Office Excel 2003 and Excel XP.
It integrates with Microsoft SQL Server™ Analysis Services. Development of the
Accelerator followed extensive user feedback, and it facilitates the two reporting
styles most in demand. It allows to:
•
Analyze and report OLAP data natively in Excel
•
Use native Excel formatting in creating OLAP reports
•
Create a single reporting using multiple OLAP cubes
•
Move OLAP data flexibly on a cell-by-cell basis
•
Dynamic list-based, analytical, structured reporting
The business intelligence solution offering created by Microsoft can benefit the
people and processes in any organization to make them more productive and
efficient. Business intelligence gives them the tools for fast and efficient decisionmaking and optimized processes.
3.2
Technology
All the technologies have been used in the concept of this project will be
introduces respectively.
3.2.1
Information
Daily meaning of information to technical usage has a range of meaning.
Generally, this concept is about notion of communication, data, instruction,
knowledge, and pattern. Merriam-Webster defines system as “the attribute inherent
in and communicated by one of two or more alternative sequences or arrangements
16
of something (as nucleotides in DNA or binary digits in a computer program) that
produce specific effects [1]”.
Sometimes information might be defined as “data” but there is a reason that
could be disputed that information is not data. Data use symbols, numbers or letters
for process of representing information [15].
3.2.2
System
Systems may be adaptive or non-adaptive. An adaptive system modifies itself
to its environment. A non-adaptive system cannot be adoptive in its environment and
performs independently of the external environment. For instance a radio is nonadaptive system but A/C of the car is adaptive system [16, 17].
Most systems have some boundaries. A boundary is an element that indicates what is
belonging to the system and what is not; what follows the system’s rules and what
does not.
3.2.3
Information Systems
There are many definitions for Information System one of them in terms of
the usage and practical aspect of information system “An Information System uses
the resources of people, hardware, software, data, and networks to perform input,
processing, output, storage and control activities that convert data resources into
information products. Data are first collected to a form that is suitable for processing
(input). Then the data are manipulated and converted into information (processing),
stored for future use (storage), or communicated to their ultimate user (output)
according to a correct processing procedure (control) [2].”
17
The systems are tools and utilities to build and store or exchange, search the
information. Information systems could be found in any place such as, ATM, search
engines, communications and all the softwares.
Levels of Information System Complexity
Information Systems are different in terms of the complexity. Systems that
are categorized on a noncommercial basis are more complex than (or different from)
systems that are entirely commercial because of the added political dimension to
their provision. A system that is combination of commercial and noncommercial
concepts would be more complex than either ones [18].
Overall, an information System is a set of components working together in
purpose of the production, distribution, or processing of information.
3.2.4
Management Information System (MIS)
O’Brien defined Management Information System:” A management
information system (MIS) is a subset of the overall internal controls of a business
covering the application of people, documents, technologies, and procedures by
management accountants to solving business problems such as costing a product,
service or a business-wide strategy. Management information systems are distinct
from regular information systems in that they are used to analyze other information
systems applied in operational activities in the organization. [3]”
MIS may be defined as the combination of men, machine and procedures for
collecting pertinent information from the internal and external source of a firm, and
processing this information for the purpose of facilitating the process of decision
making.
The Management Information System (MIS) is a concept of the last decade or two. It
has been understood and described in a number of ways. It is also popularly known
as the information system, the information and decision system, the Computer-based
Information System.
The MIS has more than one definition, some of which are given below:
18
1. The MIS is defined as system which provides Information support for
decision making in the organization.
2. The MIS is defined as integrated system of man and machine for providing
the information to support the operations, the management and the decision
making function in the organization.
3. The MIS is defined as system based on the database of the organization
evolved for the purpose of providing information to the people in the
organization.
Figure 3-1 MIS Architecture
Though there are a number of definitions, all of them converge on one single
point, i.e. the MIS is a system to support the decision making function in the
organization. The difference is in defining the elements of the MIS. However in
today’s world, the MIS is a computerized business processing system generating
information for the people in the organization to meet the information needs for
decision making to achieve the corporate objectives of the organization.
In any organization, in any shape, a main part of the time is dedicated to data
collection, processing, documenting and communicating it. Hence, a major portion of
the overhead goes into this kind of unproductive work in the organization. “Every
individual in an organization is continuously looking for some information which is
needed to perform his/her task. Hence the information is people-oriented and it varies
with the nature f the people in the organization. [4]”
19
Overall, MIS is concerned with the issues, problems, and opportunities facing
organizations in using IT/IS (Information Technology/Information Systems) to
achieve improvements in organizational efficiency and effectiveness. In short,
Management Information Systems (MIS) is the study of the design, implementation,
management and use of information technology applications in business and
organizations.
MIS involves with how organizations design and implement Information
Systems to improve efficiency of management and operations by using Information
Technology. MIS has become virtually universal in organizations today and all
managers now have to know how their organizations can be using IT/IS to achieve
efficiencies and effectiveness. MIS is important for any organization that needs
information technology to achieve a market-place advantage or a high level of
efficiency. If any organization is interested in using systems and technology to
improve and transform itself, it will need people who are experienced in recognizing
and exploiting such opportunities.
Corporate presidents and CEOs around the world now recognize that if a company
wants to make effective use of IT (Information Technology) it has to combine people
with IT skills and people in the different functional areas of business operations (e.g.
accounting, finance, marketing, human resources, etc). It is also now well recognized
that both types of people are essential to increase the chances of successful IT in the
organization. The more that these two types of people know about each other’s jobs,
the greater the chance of this success. With a good understanding of technology, you
will be able to make better business decisions when it comes to managing technology
in your future career. ”Technology advances have increased both the availability and
volume of information management and the directors have available for both
planning and decision making. Correspondingly, technology also increases the
potential for inaccurate reporting and flawed decision making [5]”. Because data can
be extracted from many financial and transaction systems, appropriate control
procedures must be set up to ensure that information is correct and relevant. In
addition, since MIS often originates from multiple equipment platforms including
mainframes, minicomputers, and microcomputers, controls must ensure that systems
on smaller computers have processing controls that are as well defined and as
effective as those commonly found on the traditionally larger mainframe systems.
20
3.2.4.1 MIS Tools
Some of categories of MIS could be:
•
Process/Scope Management
•
Schedule Management
•
Cost Management
•
Resource Management
•
Risk Management and Assessment
Some general MIS tools could be mentioned as:
General MIS tools: MS Excel, MS PowerPoint, MS Access database, MS Project
Database MIS tools: Oracle 9i Database and administration tools, MS SQL Server
Database and administration tools.
3.2.4.2 Why MIS
The reason that Pentasoft has chosen SolonExcel as a MIS system is that one
of the primary and high priorities of this system is analyzing and preparing report
based on the data entered to the system already.
3.2.5
XML
Xml has history which is going back since 70’s, “In the 1970’s, three guys at
IBM (the aforementioned Charles Goldfarb, along with Ed Mosher and Ray Lorie)
invented GML, a way of marking up technical documents with structural tags. The
initials stood for Goldfarb, Mosher and Lorie. According to Goldfarb, he invented
the term “mark-up language” in order to make better use of the initials, so it became
the Standard Generalized Markup Language and was adopted by the ISO in 1986. It
is a little confusing, because SGML is not itself a markup language, but rather a
21
specification for defining markup languages. The application of SGML that became
well known is HTML (Hypertext Markup Language). HTML is an SGML
application, and defines a specific set of tags suitable for web pages [6]”.
HTML is the point that indirectly causes to start looking for new a solution in
text based structural file. Separate content from presentation was the basic idea. For
example, in the HTML with different tags it is possible to format and customize the
layout and functionality of the texts in the page for example with <b> text could be
bold no matter what the content is. But because of limitation of these tags this type of
thing does not please page designers, who want to really customize the pages.
Therefore HTML got extended with things like <font> tags which went right against
the initial concept. Another problem area was compatibility of the language in
different web browsers to be more for example between Netscape and Microsoft led
to fragmentation of the standard, which remains a huge problem for web developers.
Web pages began to be used for things that went wildly beyond the original concept,
including multimedia, animation, online applications, ecommerce and more.
Browsers also tried to be tolerant of hastily written web pages that committed crimes
like using an opening tag without a corresponding closing tag. These issues caused
fewer principles for the structure of the files.
According to the latter paragraph “HTML is too limited and terminally
polluted, while SGML itself is reckoned to be too complex for mortals to implement.
In the late 1990s a group of people including Jon Bosak, Tim Bray, James Clark and
others came up with XML, eXtensible Markup Language. Like SGML, XML is not
itself a markup language, but a specification for defining markup languages. The
W3C (World Wide Web Committee) immediately set about reshaping HTML as an
XML application, with the result being XHTML. That is only one small part of what
XML is all about. The key point is that using XML the industry can specify how to
store almost any kind of data, in a form that applications running on any platform can
easily import and process [6].”
XML (Extensible Markup Language) is a text-based semi-structured
data/document format standardized by W3C in 1998 as the foundation for nextgeneration Internet applications. Since then XML was applied extensively to areas
such as EAI, B2B, middleware, database and content management and has shown
enormous amount of promise in enabling new applications as well as solving
problems associated with older generations of proprietary technologies. However,
22
many challenges remain that hinder the widespread adoption of XML. Problems such
as processing model and performance are technical ones and finding solutions to
them probably requires, more than anything else, technical innovation and
engineering creativity. Although the concept of using custom hardware to improve
performance is hardly new, one has to be very careful about the idea of processing
XML in hardware. The devil is in the details: DOM/SAX processing models have
many problems that prevent them from being implemented in hardware. The goal of
this paper is threefold: (1) to examine root causes of XML performance issues in
general and DOM’s memory issue (2) to investigate the feasibility of moving XML
processing on chip (3) to outline properties as well as potential applications of
XimpleWare’s patent-pending technology.
The Extensible Markup Language (XML) is sub category of markup
languages. The term of extensible language is for allowing the user to define the
elements. XML’s goal is to help information system in using structured data. One of
the biggest benefits of XML is that it lets developers to define the content of a
document separately from its formatting or so called structure. Another advantage of
XML is being common in terms of usability between different kinds of computers
and applications.
A well-formed xml is an xml document that the syntax of xml has been confirmed. A
valid document confirms the rules semantically. If a XML contains an unknown
element then it is not valid.
XML is open to all and there is no limitation for that “It's managed by the
W3C as a formal recommendation, a document that describes what it is and how it
ought to be used. However, the recommendation isn't strictly binding. There is no
certification process, no licensing agreement, and nothing to punish those who fail to
implement XML correctly except community disapproval. [7]”
3.2.6
Open XML
Open XMl or Open Office XMLis really new technology which is being
improved day by day.
23
3.2.6.1 History
In 2000, Microsoft tried to invest more on using XML in its Office. One of
the reasons was that Customers such as government, libraries, archives demand
noticeably increased for a full specification for the Office file formats.
As for the latter, during the Microsoft 2003 era XML formats published on
Danish Government in its website mentioned that “Microsoft should consider the
merits of submitting XML formats to an international standards body of their choice.
[8]”
IDA & EC explicitly ask Microsoft to put the evolution of the formats in the control
of a standards body. To build translators to/from ODF (ODF, or OpenDocument
Format, is an ISO standard that similarly describes file formats used for
presentations, spreadsheets and word processing. ODF is backed notably by IBM and
Sun Microsystems, both of which offer free Office-like productivity suites.), plus
governments recommend eventual submission to ISO.
In December 8 2005, Ecma General Assembly accepts standardization: Ecma TC45,
the purpose was because of:
• Creating an Ecma Office OpenXML Format standard.
• To contribute the Ecma Office Open XML Format standard to ISO/IEC JTC
for approval and adoption by ISO and IEC.
• To steward future evolution Office OpenXML
As of December 2006, Microsoft adopted a “pure” XML format, now the
open XML (ECMA-376) standard is freely available. The Open Specification
Promise enables both Open Source and Commercial software to implement Office
Open XML.
Why Open XML
24
3.2.6.2 Ecma
Ecma International is an industry association founded in 1961 and dedicated
to the standardization of Information and Communication Technology (ICT) and
Consumer Electronics (CE). History
The aims of Ecma are:
•
To develop, in co-operation with the appropriate National, European and
International organizations Standards and Technical Reports in order to
facilitate and standardize the use of Information Communication Technology
(ICT) and Consumer Electronics (CE).
•
To encourage the correct use of Standards by influencing the environment in
which they are applied.
•
To publish these Standards and Technical Reports in electronic and printed
form; the publications can be freely copied by all interested parties without
restrictions.
For over forty years Ecma has actively contributed to world-wide standardization in
information technology and telecommunications. More than 370 Ecma Standards and
90 Technical Reports of high quality have been published, more than 2/3 of which
have also been adopted as International Standards and/or Technical Reports.
The organizational structure of Ecma is a simple, flat one: the technical work
is done by the Technical Committees, and the results of this work can be submitted
twice a year to the General Assembly for approval for publication.
The Ecma procedures consist of a set of By-laws, Rules and a Code of Conduct in
Patent Matters. Five categories of members assure a wide participation of the
industry and interested organizations in the work of Ecma.
Ecma explains TC45 – Office Open XML Formats [9]:
SCOPE:
The goal of the Technical Committee is to produce a formal standard for
office productivity applications within the Ecma International standards process
which is fully compatible with the Office Open XML Formats. The aim is to enable
the implementation of the Office Open XML Formats by a wide set of tools and
platforms in order to foster interoperability across office productivity applications
25
and with line-of-business systems. The Technical Committee will also be responsible
for the ongoing maintenance and evolution of the standard.
Programme of work:
1. To Produce a formal Standard for office productivity documents which is
fully compatible with the Office Open XML Formats
This includes:
•
Produce a standard which is fully compatible with the Office Open
XML Formats, including full and comprehensive documentation of
those formats in the style of an international standard, with particular
attention given to enabling the implementation of the Office Open
XML Formats by a wide set of tools and platforms in order to foster
interoperability across office productivity applications and with lineof-business systems.
•
Produce a comprehensive set of W3C XML Schemas for the Office
Open XML Formats, with particular attention given to self
documentation of the schemas and testing of the XSDs for validation
using a wide variety of XSD tools of the market and cross platform.
2. To contribute the Ecma Office Open XML formats standards to ISO/IEC JTC
1 for approval and adoption by ISO and IEC.
Upon completion of the Previous Items, the role of the Technical Committee
will be:
3. To assume responsibility for maintaining the Ecma Office Open XML
standard
4. To evaluate and consider proposals for complementary or additional
technology
5. To assume responsibility for the evolution of the Ecma standard while
ensuring backward compatibility with the previous versions to guarantee
continuity in the use of the current and future formats
6. To establish and maintain liaison with other Ecma TCs and with other
Standards Development Organizations (SDOs) as appropriate to facilitate and
promulgate the work of the TC.
26
3.2.6.3 The Open XML standard
Microsoft used to use binary method of storing document content after that
the Open XML document markup standard has been introduced. This XML based
format is standardized and uses open technologies which enable solutions on many
software platforms and operating systems. In this first version of the standard there
are three major markup languages. There are WordprocessingML for documents,
SpreadsheetML for spreadsheets and PresentationML for presentations. There are
also many underlying markups defined such as DrawingML which supports graphics,
charts, tables and diagrams. An Open XML document is stored as a container
containing many parts. At the moment the container is a ZIP file, and the parts can be
viewed as files within the ZIP but you could also store the document parts in a
database to maximize reuse. Besides providing a standard for the document markup,
the structure inside the container is also standardized. Another important part of the
specification is the Markup Compatibility section, It contains information about the
manner in which details such as versioning should be handled, which can have a
great impact on the markup. The following image provides an overview of the
various layers of the specification. ZIP, XML and Unicode are not part of the Open
XML standard.
27
Figure 3-2 Components of OpenXML [10]
3.2.6.4 WordprocessingML
If a WordprocessingML document is renamed the docx extension to zip many
different
elements
could
be
found,
especially in
larger
documents.
A
WordprocessingML document separates many parts of the document by using
separate files inside the zip package. Besides the parts which store markup for the
document, there are also many supporting parts inside the zip container which store
information such as settings, fonts and styles. The following image depicts some of
the elements common in a document. Most of these are not required.
28
Figure 3-3 WordprocessingML document structure [10]
In the root of the zip you find a part called [Content_Types].xml. “This part
stores a dictionary with content types for all the other parts inside the package. The
content type indicates to the consumer what type of content can be expected in the
package. There is an obvious required distinction between binary and XML data, but
XML data is split up into many different content types since most of the zip contents
is made up of XML. When browsing a bit further you might also have come across
XML files using the rels extension always stored in folders called _rels. These
relationship files tie the various parts of the document together. Instead of storing
relationships between the files inline in each file itself, the relationship file model is
used [10]”. This greatly eases the workload of custom applications which need to
browse through a package to find specific elements. This is a very important aspect
when it comes to working with Open XML packages. Never rely on a file path,
always browse through relationships.
29
3.2.6.5 SpreadsheetML
A SpreadsheetML document contains a central workbook part and separate
parts for each worksheet. To create a valid SpreadsheetML package, a workbook is
needed and at least one sheet part should be in the package. The package contains 5
elements. First the workbook and sheet part can be created. Those files could be
stored in any directory, the sample documents using the root directory of the
package. Both the workbook and sheet use a specific content type stored in the
content-types part. The content-types part is named [Content_Types].xml again; it is
in the package root. The following content types are for the workbook and sheet.
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
The final step is creating the required relationships between the package and
the workbook, “as well as the relationship between the workbook and sheet. Since
the first relationship runs from the package to the initial part, it needs to go in a file
called '.rels' in the _rels folder in the root of the package. [10]”
There are many more parts that can be put into a SpreadsheetML package. The
following image depicts most of the elements that you can find in an enterprise
spreadsheet, most of which are used for specific constructs such as the pivot-table or
spreadsheet styles.
30
Figure 3-4 SpreadSheetML Structure [10]
3.2.6.6 PresentationML
Like the other markup languages defined within the Open XML standard,
PresentationML follows the Open Packaging Convention to separate the various
elements which make up a slide deck. For PresentationML this results in an elaborate
structure. The following image depicts the structure:
31
Figure 3-5 Elements of PresentationML [10]
As can be observed, the packaging structure contains several circular
references and a great variety of elements. The central presentation part acts as the
hub of the package and is the start part to begin working with the package. There are
several master slide types and other types of content referenced by the presentation.
For those unfamiliar, a master is a generic slide-template which is used by the slides
itself. For PresentationML the hierarchy is even a bit bigger, where a slide references
a specific slide layout, which in turn goes to a slide master. Together these three
elements form the final slide on screen. There are several types of master slides for
several types of content. A master type is available for slides, note pages and handouts. Each individual master page or master layout and every slide in the presentation
is stored in a separate part inside the package, allowing easy access to the individual
parts of the presentation. The notes pages follow a similar model. Each note being
stored inside a separate part referenced from the slide which it provides notes for.
The next interesting thing to note is the layout of the themes. Just as the other two
main Open XML formats, DrawingML theming can be used to create default values
32
for fonts, layouts, and other branding related data and allow it to be separated from
the main body of the presentation. A theme is reusable across all the Open XML
markup languages. Inside a PresentationML package various themes are in use. By
default each individual master, slide-, note- and hand-out masters, references a
separate theme part. The presentation itself also references a default theme to be used
in the presentation. This default theme shared with the slide masters by referencing
the same part inside the package.
3.2.6.7 Visual Studio Tools for Office (VSTO)
Visual Studio Tools for Office also known as VSTO is a platform in .Net
Framework in that allows Microsoft Office files to be created in .NET assemblies.
The idea of VSTO is not completely new, developers used COM Interrupt and Visual
Basic for Applications for office products before this tool, but the mentioned ways
had their own limitation that VSTO covers and solved many of them. For instance
one of the major concerns of Macros (As part of Visual Basic for Applications) is
security which VSTO proposes has some solutions for this problem; Firstly,
encapsulation between document architecture and the presentation in this case the
code executing behind the presentation has its own security levels. Secondly, the new
concept has been introduced to office programming named action pane which is
helpful for handling controls inside the office documents. VSTO offers n-tier
architecture for Microsoft Office document development; this fact helps the
developers to come up with safer and more compatible and flexible softwares [19].
3.2.6.8 Why Open XML and comparing it with VSTO
The reason that this technology has been chosen for the project is that all the
processes of Excel file building is happening at the server side and full access control
33
to the whole excel features is needed, therefore Open XML provides this ability to
perform all the generating process independently on the Microsoft Excel application
and its engine.
VSTO is a client side platform which means it cannot be stand alone software
without any installed Microsoft Office software. Based on the design considered for
SolonExcel software a central engine is required to create excel files without using
Microsoft Office excel.
VSTO features regarding Microsoft Excel file creating:
•
Installed Microsoft Excel Office is needed
•
Creating the file is happening by the Microsoft Excel side
•
No network processing is allowed
Open XML features regarding Microsoft Excel file creating:
•
No Microsoft Excel Office is needed
•
A central engine(system) could e managing all the process over a network
therefore server side process is possible
•
Since in Open XML technology all the structure f the file is creating by the
SolonExcel there is no limitation in any circumstances for this process.
3.2.7
Microsoft Excel
Microsoft Excel is of the products of Microsoft included in Microsoft Office
package.
3.2.7.1 History
Microsoft built a spreadsheet program called Multiplan in 1982, which was
popular on CP/M systems. Microsoft released the first version of Excel for the Mac
in 1985, and the first Windows version in November 1987. “Lotus was slow to bring
1-2-3 to Windows and by 1988 Excel had started to outsell 1-2-3 and helped
34
Microsoft achieve the position of leading PC software developer. This
accomplishment, dethroning the king of the software world, solidified Microsoft as a
valid competitor and showed its future of developing GUI software. Microsoft
pushed its advantage with regular new releases, every two years or so. The current
version for the Windows platform is Excel 12, also called Microsoft Office Excel
2007. The current version for the Mac OS X platform is Microsoft Excel 2008 [11]”.
Early in 1993, since another company was already selling a software product
named "Excel" in the finance industry, Microsoft was required to refer to the
program as "Microsoft Excel" in all of its formal press releases and legal documents.
However, over time this practice has been ignored, and Microsoft cleared up the
issue permanently when they purchased the trademark of the other program.
Excel offers many user interface tweaks over the earliest electronic spreadsheets;
however, the essence remains the same as in the original spreadsheet, VisiCalc: the
program displays cells organized in rows and columns, and each cell contains data or
a formula, with relative or absolute references to other cells.
Excel was the first spreadsheet that allowed the user to define the appearance
of spreadsheets (fonts, character attributes and cell appearance). “Excel also
introduced intelligent cell recompilation, where only cells dependent on the cell
being modified are updated (previous spreadsheet programs recomputed everything
all the time or waited for a specific user command). Excel has extensive graphing
capabilities, and enables users to perform mail merge [11].”
When Microsoft first bundled Microsoft Word and Microsoft PowerPoint into
Microsoft Office in 1993, those applications had their GUIs redesigned for
consistency with Excel,[citation needed] the killer app on the PC at the time.“Since
1993, Excel has included Visual Basic for Applications (VBA), a programming
language based on Visual Basic which adds the ability to automate tasks in Excel and
to provide user defined functions (UDF) for use in worksheets. VBA is a powerful
addition to the application which, in later versions, includes a fully featured
integrated development environment (IDE). Macro recording can produce VBA code
replicating user actions, thus allowing simple automation of regular tasks. VBA
allows the creation of forms and in-worksheet controls to communicate with the user.
The language supports use (but not creation) of ActiveX (COM) DLL's; later
versions add support for class modules allowing the use of basic object-oriented
programming techniques [11]”.
35
The automation functionality provided by VBA has caused Excel to become a target
for macro viruses. This was a serious problem in the corporate world until antivirus
products began to detect these viruses. Microsoft belatedly took steps to prevent the
misuse by adding the ability to disable macros completely, to enable macros when
opening a workbook or to trust all macros signed using a trusted certificate.
3.2.7.2 What is Microsoft Excel
In computer and software world Microsoft Excel (Microsoft Office Excel) is
a spreadsheet-application provided by Microsoft Company for Microsoft windows
and Mac OS X. This application has calculating, graphing tools, pivot tables and
macro programming language called VBA. It is one of the best MIS platforms since
1993.
Spreadsheets are particularly useful for working with large quantities of data
and repetitive calculating activities. Excel has built in functions to make calculating
easier for the user. Spreadsheet computer applications such as Excel also have the
ability to generate professional looking graphs and charts. These graphs can then be
used in word-processed reports and presentations. Excel is relatively easy to use once
you know a few fundamentals.
3.2.7.3 Features
Error Checking Smart Tag
This feature alerts users via a Smart Tag of a possible error in a cell. Users can select
a command to resolve the error, ignore it, or access further Error Checking options.
Function Argument Tooltips
36
Excel displays information about function arguments as users build a new formula.
The Tooltips also provide a quick path to Help. Users simply click any function or
argument name within the tooltip.
Watch Window
Users can easily track results of multiple cells even when they are working on a
different sheet or workbook. This prevents users from having to switch back and
forth or scroll between sheets to keep track of important data.
Speech
Users can easily dictate, navigate, and provide other commands using a microphone
while working on their spreadsheets. Furthermore, Excel also supports text-tospeech, which enables Excel to read back values as part of checking a spreadsheet's
contents. Note: Speech is currently available for U.S. English, Simplified Chinese,
and Japanese.
Formula Evaluator
Users can easily evaluate the calculations that make up their formula. This function
allows users to step through each calculation to understand how Excel is calculating
the result.
Formula Auditing Toolbar
This toolbar provides users with a set of tools to link to auditing features such as the
Formula Evaluator and the Watch Window.
It also exposes other functionality such as toggling to display all formulas in the
worksheet.
Excel Border Drawing
Using the border-drawing pencil, users can easily draw cell borders in their
spreadsheet. Options include changing the line color, weight, and style or even
adding a border grid to their sheet.
Excel Alerts
Excel has improved the most common, frustrating, and confusing alerts. This
includes rewording alerts to be more understandable, eliminating unnecessary alerts
altogether, and adding functionality to make it easier to address the underlying
problem.
Tab Colors
37
Users can keep their workbooks organized by color-coding their worksheet tabs.
They can choose from a wide variety of colors with which to organize sections of a
workbook.
Narrow Column Tooltip
Excel now displays a tooltip that identifies the contents of a cell that contains "###"
because the column is too narrow to display the number.
Sort Text as Numbers
This feature prevents unexpected sorting results by detecting mixed lists of numbers
and text and enabling sorting text as numbers.
Stock Quote Smart Tag
In previous versions, Excel recognized URLs and assigned links associated with
these items. Users could activate the links by clicking them. Excel version 2002
extends this functionality by recognizing stock symbols as they are entered and
providing users a Smart Tag icon. The Smart Tag allows users to access additional
information on that stock from the Web or even insert into Excel a refreshable Web
query of that stock information.
Auto Republish
Saving Excel data to a Web page can occur automatically each time you save your
Excel file. For example, if your file contains a range of data or a chart that you share
with others on a Web page, each time you save your Excel file the Web page can be
updated automatically.
Data Connection Wizard
The Data Connection Wizard takes the user through the process of connecting to an
OLE DB data source and persisting the connection information in a Data Connection
File. The Wizard can also edit the connection information in existing Data
Connection files.
Office Data Connection Files
Data Connection Files, which are stored in a users My Data Sources folder, enable
users to easily restore a connection to a data source without having to spend time
searching for the connection.
Connection Directly to ActiveX Data Objects (ADO)
The Spreadsheet Web Component can now directly connect to ActiveX Data Objects
(ADO), enabling users to analyze data from data sources such as SQL Server.
Real-Time Data (RTD)
38
A new Real-Time Data function brings real-time data into Excel for analysis.
Document Recovery
Microsoft Excel gives users the option of saving their current files at the time an
error occurs in an application. As a result, users spend less time recreating their
spreadsheets.
Application Error Reporting
Excel allows users to automatically report any errors that occur directly to Microsoft
or their corporate IT department. This gives Microsoft (or organizations) the data
needed to further diagnose and correct these errors as well as to provide users with
direct access to workarounds or other information on the error.
Application and Document Recovery
This provides a safer method for shutting down Excel if it is not responding. Users
can choose to shut it down while initiating recovery of the document. They can also
report the problem to Microsoft or their corporate IT department at the same time.
Repair and Extract
Microsoft Excel has a corrupt document repair and recovery feature that is
automatically invoked in the event of an error or a failure to load a file. Users can
also invoke this functionality by choosing Open and Repair from the File Open
dialog box (the drop-down menu to the right of Open).
Auto Recover
Automatic recovery has been added to Microsoft Excel. Users can choose how often
files are automatically saved. If an error occurs, the recovered file is opened, and
users have the option of discarding the file, saving it over the original, or saving it as
a separate file.
Send for Review
Excel understands each user’s specific role in the review cycle and gives each user
the tools needed to successfully collaborate on spreadsheets. When a spreadsheet is
sent for review (from the File > Send To menu), the correct reviewing tools are
automatically turned on for others to review. Furthermore, when the spreadsheet is
sent back, users can merge the changes back into the original document.
Exporting Team Lists to Excel
Team members can easily export a variety of lists from their Team Web Site back
into Excel for further analysis. These lists include Contacts, Announcements, Events,
Links, Tasks, and Surveys.
39
Save/Open Spreadsheets to Microsoft SharePoint Team Services
Saving to and opening documents from Document Libraries is made simple by
enabling users to navigate to their Microsoft SharePoint Team Services Web Site
from the File Open/File Save dialog box. Office enhances the user experience by
displaying document libraries via an HTML interface right in the File Open/File
Save dialog boxes.
Uploading of Spreadsheets to Document Libraries
Team members can easily upload a spreadsheet or any other Office file directly into
a document library. Once the spreadsheet is in the document library, users can filter
through the various files and even subscribe to or have discussions on a spreadsheet.
Import Excel File as a List
Team members can import any Excel spreadsheet or range of cells as a list into their
Microsoft SharePoint Team Services Web Site.
XML Support
Excel now supports the loading and saving of XML data. Users can load and save
generic, well formed, and spreadsheet XML into Excel. And because XML is an
open format, others can easily access and extract that information.
Link Management
Excel now provides richer feedback on links to other Excel workbooks. Users can
check the status, fix, update, or even break the links easily and without having to sit
through a lengthy updating process.
Range Finder
The Range Finder feature is enabled when a user creates a new formula or edits an
existing formula. The Range Finder gives users better visual feedback for moving
and resizing the Range Finder range.
Extended AutoSum
The Extended AutoSum has more common functions added to the AutoSum tool.
These include Average, Count, CountA, Max, and Min. It also has other
enhancements such as providing a path to create any function from the AutoSum user
interface (UI).
Chart Data Labels
Improved Excel charting allows users more control over the content and formatting
of their chart data labels.
Function Wizard
40
Users can easily search for the function they need by choosing from the list of
available functions. The Function Wizard also provides users with a way to access
Help on any specific function.
Find and Replace
Users are provided with an enhanced user interface and functionality for the Find and
Replace feature. Users can execute a single Find/Replace across all sheets in a
workbook, reuse past searches, view a modeless UI, and find new elements such as
formatting.
Printing
Improved printing functionality automatically performs functions such as switching
between Letter and A4 paper, auto scaling, and suppressing the printing of trailing
blank pages and error values so that they don’t contain "#REF".
Header/Footer
Pictures or drawings can now be inserted directly as headers or footers.
Cell Merging
With the Merge and Center button on the Formatting toolbar, users can unmerge a
group of cells just as easily as they can merge a group of cells. It is possible to
unmerge even if the Undo option is no longer available.
Prevent Single-Column Sorting
This feature provides the same level of detection and feedback as the Sort tools on
the toolbar to help prevent users from accidentally "breaking" a list by sorting a
single column.
Web Queries
Users can easily access, analyze, and refresh data from the Web right from within
Excel. When information from the Web is copied into Excel, a Smart Tag appears,
giving users the option to create a refreshable query. Once the data is brought into
Excel from the Web, users can manually refresh the data or even identify how often
Excel should automatically refresh the data. Users can also create these Web Queries
by simply dragging and dropping a Web page into Excel.
OLAP Pivot Tables
A variety of improvements have been made to OLAP PivotTable views, including
the ability to create custom ad-hoc groups and get visual totals.
Excel Web Editing
41
Regardless of whether users save their Excel files to the Web with or without
interactivity, more Excel features can be brought back into Excel from the Web. For
example, more formatting such as colors and fonts and more features such as
filtering, protection, and data validation are functional when users edit a Web page in
Excel. This means exporting data from Excel Web components to Excel gives users a
richer experience.
Worksheet Protection
Password protection is made available at a much more granular level by enabling
users to protect specified ranges within a sheet. Password protection can also be
applied to more features than ever before (Cell Formatting, for example). Users can
now use domain-level security to map protection to a particular user or group of
users.
Recalculation Improvements
Excel makes the calculation engine more reliable and robust with improvements such
as globally recalculating (calculation order is no longer reliant on worksheet names)
and allowing for uninterruptible recalculations.
Compare and Merge
Excel gives users the ability to merge together comments and revisions from multiple
reviewers. The author (spreadsheet owner) can then accept and reject one or all
revisions.
Reviewing Toolbar
As a part of the Send for Review functionality described above, the Reviewing
Toolbar gives users the ability to reply to the owner of a document with their changes
or end the review process.
Send This Selection
The Send To functionality in Excel has robust support for sending portions of a
workbook to others. For example, users can send any range of data, chart, or
PivotTable from their Excel file. They can also choose to add interactivity to what
they are sending so that the recipient can use the appropriate Office Web
Components within the e-mail message they receive.
Office Web Components (Spreadsheet, Chart, and PivotTable)
The Office Web Components (the Spreadsheet, Charting, and PivotTable Web
Components) now have customizable menus and toolbars in which buttons and
menus can be added and removed. New buttons and menus can also be added using
42
script. See below for new functionality and improvements in each of the individual
Web Components.
Spreadsheet Web Component
The Spreadsheet Web Component has more support for Excel workbook features,
including loading spreadsheet XML files, supporting named ranges, array formulas,
multiple worksheets, wrapped text, and the ability to publish entire workbooks with
interactivity to the Web. Furthermore, the Spreadsheet Web Component now
supports all of the built-in functions in Excel.
Chart Web Components
The Chart Web Component now supports 3-D charts using the DirectX application
programming interface and Office Art Fill Effects. The Chart Web Component has
also added full support of the Excel PivotChart dynamic views features, plus new
capabilities such as graphing multiple charts within the same Web Component, and
data-driven conditional formatting. Finally, fully customizable drawing and layout
controls enable users to create completely new chart types and custom annotations
within their chart.
PivotTable Web Component
The PivotTable Web Component now supports creating and displaying custom
member properties and custom groups. It also provides improved filtering
capabilities, allowing users to more effectively analyze their important data at a
granular level. In addition, the PivotTable Web Component enables users to make
edits directly to the data. The edits can be committed directly back to the database.
Extensibility of Office Web Components
The Web Component object model has been extended to expose the entire built-in
keyboard and user interface commands through the programming model. Developers
can now use script to create sophisticated macros within the Web Components using
only built-in commands in Excel.
Excel PivotTables
An improved PivotTable user interface makes it easier for users to work with
PivotTable fields, solving issues such as truncated field names and the inability to
see both hierarchy and levels. Also, PivotTables now enable immediate view of
PivotTable fields even before the data field is populated.
43
3.2.7.4 Why Excel
Because of purposes of SolonExcel system such as analyzing the data and
getting report and common usability for the end users, Microsoft Excel is the best
chose for being host of the system, most of the users have knowledge to work with it,
on the other hand it has a powerful MIS engine that could help the user to meet
his/her requirements.
3.2.8
.NET Framework
The .Net Framework is a platform that supports building and executing
applications.
.Net Framework objective:
•
To provide am object oriented environment
•
To provide a code-execution environment that reduces deploying and version
problems
•
To provide a code-execution environment that supports safety of the code
•
To provide a code-execution environment that increases the performance of
the application
•
To provide compatibility in different hosts computer
•
To provide reliability on both windows based application and web based
application
Common language runtime and .Net Framework class library are two main
components of, Net Framework. Common Language Runtime is the base of .Net
Framework it handles some critical tasks such as memory management, thread
management, remoting and etc.The Class Library in the other hand is collection of all
components that could be used in programming in order to build up the system such
as graphical user interface (GUI) and data access components.
44
Figure 3-6 .NET Framework
3.2.8.1 Common Language Runtime
As mentioned before this component manages memory, thread execution, code
safety and other services.
As an instance for code access security: an execution in a web page can play music
but the file system and personal data is not accessible.
One if the important concept in the CLR (Common Language Runtime) is Common
Type System (CTS). CTS ensures that all code are managed and could be consumed
other types and instance and they are type safety. References to objects, releasing
them when they are no longer being used are other part of the CLR. I thelps
45
programming productivity for example it allows developers to develop the software
on their own desired language such as C#, VB.NET or Visual C++.NET.
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.
Meanwhile, the memory manager removes the possibilities of fragmented memory
and increases memory locality-of-reference to further increase performance [20].
3.2.8.2 .NET Framework Class Library
The .NET Framework class library is a collection of reusable classes that are
related to the CLR. This class library is fully object oriented. Although this library is
a complete set of different components to use it is possible to use third-party
components and integrate the assembly with the classes in the .NET Framework.
.NET Framework provide this possibility to have a range of common programming
tasks, including tasks such as string management, data collection, database
connectivity and file access.
.NET Framework could be use to develop following types of applications:
•
Console application
•
Windows GUI application(windows Forms)
•
ASP.NET application
•
XML Web services
•
Windows services
In terms of the usability and the service that application is built for there are two type
of development:
Client Application Development; Client applications are the traditional style
of applications. Most of the time they are using menus, buttons and other GUI
elements and having access to local resources such as files and so on.
ActiveX control is another type of client application; it could be deployed over the
Internet as a web page. It is executed and has access to the local resources.
46
Developers used to create such applications using C/C++ in conjunction with
Microsoft Foundation Class (MFC) or with the rapid application development (RAD)
environment such as Microsoft Visual Basic. The windows forms classes contained
in the .NET Framework are designed to be used for GUI development. For example,
the .NET Framework provides simple properties to adjust visual attributes associated
with forms. In some cases the underlying operating system does not support
changing these attributes directly, and in these cases the .NET Framework
automatically recreates the forms. This is one of many ways in which the .NET
Framework integrates the developer interface, making coding simpler and more
consistent.
Server Application Development; Applications host the common language
runtime, which allows the code to control the flow and performance of the 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.
Figure 3-7 Server-side managed code
ASP.NET is the hosting environment that provides this possibility for the developers
to user .NET framework to develop WEB-Based applications. ASP.NET is
architecture for developing web sites and inherited-distributed objects using code.
XML Web Services in the other hand is an web-based technology which have no UI
and it is not meant to work by browsers such as internet explorer or Firefox. They are
being used to consume by the other applications such as traditional client
applications, web-based applications or even other XML Web-based services.
The .NET Framework also provides a collection of classes and tools to aid in
development and consumption of XML Web services applications. XML Web
services are built on standards such as SOAP (a remote procedure-call protocol),
47
XML (an extensible data format), and WSDL (the Web Services Description
Language). The .NET Framework is built on these standards to promote
interoperability with non-Microsoft solutions.
3.2.8.3 Why Microsoft .NET Framework
As mentioned before Microsoft .NET Framework has a powerful capability
for OOP implementation besides it possesses a rich class library with really vast
variety with different feature therefore developing with Microsoft .NET platform
helps the developer to make almost everything possible in addition, supports and
help for .NET Framework are available.
3.2.8.3.1.
Comparing .NET Framework with Java Virtual Machine
Microsoft intermediate language as an engine of Microsoft .NET Framework
is using byte code instructions that can be placed on any platform this method is the
same as java idea. By compiling IL the result is a byte code that is independent on
.NET. The huge difference between Java Virtual Machine and .NET Framework is
about performance; IL is always Just-In-Time compiled (known as JIT compilation),
one of the disadvantages of Java is that on execution the converting form Java byte
code to native executable resulted causes loss of performance, but in .NET method
JIT (Just In Time compilation) compiles each portion of code once it is needed and
when the whole code has been compiled once the outcome as an executable
application is stored therefore recompilation is not required and based on this fact the
process is more efficient than other processes.
48
3.2.8.3.2.
Microsoft C#
Comparing to other successful and common language in software
development world Microsoft C# (also known as CSharp) is a new language it is
design specifically for Microsoft .NET framework. This language is based on all the
experiences of other object oriented which have been introduced since 20 years ago
therefore, C# is a fully modern object oriented language. C# has about 80 keywords
and a dozen nuilt-in data types. C# supports structured, component-based, objectoriented programming that could be modern language built on foundation of C++
and Java. C# supports classes, interfaces, structs, delegates and so on.
3.2.8.3.3.
Why C# and comparing it with VB.NET
C# is one of the famous and common languages in .NET Framework which is
easy to use for C and C++ developers on one side and on the other side Java
developers can get used to it by ease. Comparing VB.NET with C# these two
languages are same at their foundation point which is MIL (Microsoft Intermediate
Language), Microsoft has been trying to make these two languages same but in
syntax and leave the decision of using whichever of these languages to the users in
most of time this decision in companies is concluded at marketing side or based on
the resources circumstances.
3.2.9
Rational rose enterprise edition 2002
This Software which is one of the IBM products is engineering software for
helping software engineers through a software life cycle from project design to
implementation, “IBM Rational helps bring technology and software together to help
you and your team collaborate more effectively on software development and
49
delivery projects. Today’s focus is on increasing productivity, reducing time to
market and responding quickly to new technologies to drive innovation and increase
customer value. The IBM Rational Software Delivery platform helps you to solve
challenges ranging from understanding the impact of open source software to
managing risk, from catching bugs in testing to improving communication across
worldwide development teams.
The IBM Rational Software Delivery Platform is an integrated platform providing a
complete solution for developing software and software-based systems. It allows
practitioners to operate more efficiently and deliver innovative products and services
that set their organizations apart from their competitors [12]”.
By controlling the process of software development in an open, proven and yet
modular manner, software development teams can:
•
Manage value by automating and enforcing best practices that keep your
software projects aligned with changing business priorities
•
Develop flexibly with an open, collaborative software development platform
that offers maximum freedom in selecting how and where you source
projects.
•
Control risk and change with a solution that captures, communicates, and
integrates policies, practices, and metrics across project teams and diverse
contributors throughout the software life cycle.
Apart from platform e.g. Eclipse, Java, .NET, Linux or embedded and pervasive Rational takes the process from start to finish. “Success in today's on demand
marketplace depends on a company's ability to differentiate business performance in
both good times and bad [12]”.
The IBM Rational Software Delivery Platform, a cross IBM Software Group
solution, enables differentiation by defining, automating and integrating the key
aspects of software across roles, from the analyst to the architect, developer, tester
and project manager.
The IBM Rational Software Delivery Platform is:
•
Proven. It’s not just tools; IBM Rational’s Software Delivery Platform
emphasizes best practices and processes which make thousands of highperformance software teams and practitioners successful.
50
•
Complete. Gain visibility throughout your software lifecycle by supporting
every member of your development team, as well as your business and
operations stakeholders.
•
Open. You can leverage existing assets and choose from a wide array of
development languages, deployment platforms, and partner technologies including Microsoft .NET, BEA, and Oracle solutions.
•
Modular. Choose the exact tools and adoption path that best fit your needs.
Use your existing tools with components of the IBM Rational Software
Delivery Platform - no need to "rip and replace" what you already have.
Most vendors offering IT solutions often fail to address the entire software delivery
lifecycle, focusing on only those portions of the cycle with which they have
expertise. “However, with companies under significant pressure to transform IT from
a cost center into a cost effective enabler of innovation and business success,
overlooked portions of the delivery lifecycle are overlooked opportunities for
improving your software team’s effectiveness, predictability and productivity.IBM
Rational’s business driven development approach is unique in its breadth, addressing
each and every phase of the software delivery lifecycle, helping teams to manage
value, develop flexibly and control risk and change [12]”. With the IBM Rational
Software Delivery Platform, software development teams are provided tools for the
key roles:
•
For the Project Manager: a variety of interactive dashboards to help
management make investment decisions based upon up-to-the-minute
information concerning project health and resource availability.
•
For Architects: specialized tools to capture business process design and
system requirements and then help translate them into executable code.
•
For Developers: development processes and best practices to provide
direction and give advice for teams lacking discipline or looking for greater
efficiency
•
For the entire team: workflow automation software to help streamline
development and delivery.
•
For the entire team: integrated products to establish clear links, traceable
relationships and secure content for all of the assets created by and for the
software delivery lifecycle
51
Figure 3-8: Rational capabilities [12]
Rational offers both solution-focused offerings specializing in issues such as globally
distributed teams, regulatory compliance and the adoption of service oriented
development approaches, as well as product and integrated product suites for
individual practitioners across the software delivery spectrum.
3.3
Project Methodology
The methodology chosen for the software development is V-Model. The VModel is a software development model for software projects; it is kind of enhanced
waterfall model by adding more features, standards to its framework. Each step and
phase in this methodology has criteria to check and validate.”Waterfall model uses
milestones as transition and assessment points. When using the Waterfall model, you
need to complete each set of tasks in one phase before moving to the next phase. The
Waterfall model works best for projects in which the project requirements can be
clearly defined and are not liable to modifications in the future. Because this model
has fixed transition points between phases, you can easily monitor schedules and
assign clear responsibilities and accountability [13]” .Same as waterfall model VModel is sequential at the end point of each phase there are some standards to be
52
check helping to determine whether the system is ready to proceed to the next phase
or not.
Phases of the V-Model:
•
Requirement phase: In this phase customer provides and proposes the
proposal to the company and software engineers and software analysts of the
company with the customer start working on the requirement document, at
the end of this phase requirements is approved by customer and the company,
efforts estimation is another issue that should be prepared.
•
Architectural design: Based on the approved requirements the project team
converts those requirements to the functional units, definition of the scenario
that how these units are working together is the next step. At the end of this
phase these prepared documents should be approved.
•
Detailed design phase: As the name of this phase is clear this phase is for
leading the design into detail situation, all the functional units mentioned in
previous phase are broken down into smaller units to be clear for
implementation.
•
Implementation: According to the detail design the project enters into the
implementation phase; coding.
•
Unit test phase: test cases for unit test are meant to check if the
implementation complies the detail design specification or not. The test cases
should prove the latter in order to migrate to the next phase.
•
Integration testing: Integration testing is more general view for the project
than unit testing, this kind of testing is for checking if the whole software
follow and behavior is following the functional unit specification or not.
System test phase: This is the check point for releasing the software in this phase all
the efforts are put to find out if the system is really based on the requirement
specification or not if this matter is true the system is ready to be released.
53
Figure 3-9 V-Model
The V-Model is generally used to consolidate the relation between the development
and testing. Meanwhile requirements are developed in detail as Functional
Specification. Process, structural models are being developed.
Diagrams such as flowcharts, entity-relationship models and state chart diagrams are
used to depict the requirement. These models provide fundamental test cases which
are executed in testing. System design is concerned with the design of the computer
system that will deliver the requirements defined in the functional specification. If
54
functional requirements describes what is required then design could explains how to
deliver.
A tool is defined as a software product supporting the development or maintenance
of the systems. Tools are defined as service units.
Figure 3-10 V-Model levels and structure
One of the ways to have higher software quality is to reducing defects out of the
production line, in order to do that there are two activities: requirement validation
and validating that the system design is functional. These two processes help
noticeably to yield a robust product.
Figure 3-11 Cost of quality [12]
55
3.3.1
Advantages and disadvantages
This model works well enough with stable requirement; the major concern in
this model is testing each process in the left side of the model maps with a test
process in the other side. Scale of the project does not have any influence on this
methodology, since this methodology has a lot of testing steps and focuses on testing
activities the output product is really reliable and assures that it is accurately based
on the requirements. This methodology needs a lot of work to do if requirement
changes during the software project, for projects with noticeable unforeseen problem
this methodology is not stable.
CHAPTER 4
4. REQUIREMENT ANALYSIS AND DESIGN
4.1
Requirements
The requirements phase has been divided the phase into these parts:
1. Having meetings with people involved in this system and business
analysts of the company.
2. Identifying stakeholders of the system and the project.
3. Studying previous systems in the market to add new features to the
new system.
4.1.1
Meetings
There were some internal meetings with staff and the company’s software
analysis’s and the project manager.
57
4.1.1.1 Meetings with system project manager
Several meetings have been arranged with the project manager talking about
the whole system such as its goals its vision statement and system objectives.
Perspective view of the system was explained.
4.1.1.2 Interviews and Meetings with business analysts
Some interviews carried out with the business analysts of Pentasoft, since this
system is meant to work closely with insurance software products of the company as
a reporting and analyzer tool for the other systems business analysts of the company
have a clear and accurate idea about SolonExcel system. Based on their idea
fundamental and basic perspective of the system showed up, the process in this part
was converting business requirements to software requirement.
4.1.2
Studying previous systems
In this part the systems in the market have same features as the system got
focused. After working with them some of advantages and disadvantages were
found. In this way details and features of the system could be clarified. Although
some applications are in the market working with Microsoft excel and to be more
specific inserting data from an outside data source, it could be announced that none
of them is customized for a specific aspect and because of this fact none of them is
complete for insurance market based on this fact SolonExcel is almost unique in its
field.
58
4.1.3
Achievements
Use case diagram and sequence diagram has been made based on information
related to during the previous steps using Rational Rose Enterprise Edition software.
Then process of SRS was started and by organizing the information that had been
gathered and Diagrams which are built, some items related to them in the SRS has
been added. SRS is attached to this report as an appendix. One of the important case
to be mentioned here is that Pentasoft used to use sequence diagrams only in the
documents, for current SRS I am using activity diagram and the SDV department of
Pentasoft is going to take activity diagrams into account from now on.
4.1.4
General Requirement Diagrams
Following is the general use case of the system:
59
Figure 4-1: System use case
Following are the major sequence diagrams from SRS:
60
Figure 4-2: Authentication Sequence Diagram
61
Figure 4-3: Create Template Sequence Diagram
62
Figure 4-4 Edit Template Sequence Diagram
63
Figure 4-5 Generate Report Sequence Diagram
64
4.2
Design
This phase is divided into three main subcategories:
•
R&D(Research and development)
•
Training
•
Designing the system.
4.2.1
R&D
In this section there was research about different possible ways for the system
functions, different components were checked, tools, technologies, solutions and a
small software was created based on each of these solutions, then the best way in
terms of the deadline and implementation environment and performance was
selected.
4.2.2
Training
After studying and all the researches we came up with the main technologies:
•
Office programming (VSTO)
•
Open Office XML
•
Webservices
Based on the mentioned technologies project manager decided to setup up a training
course regarding Office programming, therefore couples of training sessions were
lunched. The trainer was Microsoft Corporation from Singapore, those training
session were noticeably helpful, and other than technical knowledge that I have
gained it was good opportunity for me to see how keeping the staff updated and
training could help through the project progress.
65
4.2.3
Designing the system
Based on information gathered from requirements phase and SRS as output of
the requirement phase design the system inside Rational Rose software got started.
Following are steps of this phase:
•
Listing the list of classes needed for the system including their general
functionalities.
•
After the best solution was chose and all the information were ready and
provided the designing phase in rational rose started. At the beginning classes
were designed in general (without any relations and operations and attributes)
then the sequence diagrams updated which were designed in the requirement
phase. The items of the sequence diagram were changed based on the classes.
Modifying the classes is the next step, operations and attributes and relations
between the classes to the each class were added.
Creating activity diagram is the next step following the scenario of the whole
system and building the activity diagram according to the system are this step
activities.
4.2.4
CSCI Design Description
This section will divide into subparagraph to provide the design description of
each CSC of the CSCI SolonExcel. The following paragraph describes the
detail of each CSC and its relationship with other CSCs.
4.2.5
CSC 01_Template [SDD_REQ_100]
Description
66
This CSC provides the capabilities to create modify and finalize the templates
in the system. The CSC consists of eight (8) CSUs as follows:
1. frmBrowse
2. frmCriteria
3. frmFields
4. frmJoin
5. frmSorting
6. frmViews
7. MasterFormViews
8. WizardManager
Table 2 describes the detail description for the above CSU and Figure 18
shows CSC 01_Template and its relationship with other CSCs.
Table 4.1 List of CSUs in CSC 01_Template
CSC
Identification
SDD_REQ_100
CSU Name
Description
frmBrowse
This CSU is for viewing list of all available
templates.
frmCriteria
This CSU is to build condition part during
the template creating process.
frmFields
This CSU provides capability of selecting
fields which have a role in the template.
frmJoin
This CSU is in this package to build joining
part during the template creating process.
frmViews
This CSU is in this package to enable
selecting different views (business data) to
be inside the template.
MasterFormViews
This CSU is an interface to service other
forms. This class formats and provides the
framework of the other forms.
67
WizardManager
This CSU controls navigations among the
wizard forms.
Figure 4-6 CSC 01_Template package
4.2.6
CSC 02_Report [SDD_REQ_200]
Description
This CSC provides the capabilities to generate reports based on
templates created before in the system. The CSC consists of one (1)
CSUs:
1. frmGenerateReport
Table 3 describes the descriptions of the CSUs and Figure 19 shows
relationship of CSC 02_Report with other CSCs.
68
Table 4.2 List of CSUs in CSC 02_Report
CSC
Identification
CSU Name
Description
SDD_REQ_200 frmGenerateReport
This CSU is used to generate the report based on the templates
inside the system.
Figure 4-7 Relationship of CSC 02_Report with other CSCs
4.2.7
CSC 03_Security [SDD_REQ_300]
Description:
This CSC provides the capabilities to manage the accessibility and authentication of
the users in the application. The CSC consists of two (2) CSUs as follows:
1. frmLogin
2. SolonSecurity
Table 4 describes the detail description for the above CSUs and Figure 20 shows
relationship of CSC 03_Report with other CSCs.
69
Table 4.3 List of CSUs in CSC 03_Security
CSC
Identification
SDD_REQ_300
CSU Name
Description
frmLogin
This CSU is the data entry form for
login process though this class user
is being verified.
SolonSecurity
This CSU manages the logic of authentication and
verification of the user.
Figure 4-8 Relationship of CSC 03_Security with other CSCs
70
4.2.8
CSC 04_Add-In [SDD_REQ_400]
Description
This CSC provides the communication between the system and Microsoft Excel
Application; in addition this is an interface for the user inside Microsoft Excel
Application.
The CSC 04_Add-In consists of one (1) CSU:
1. Ribbon
Table 5 describes the detail description of CSU Ribbon. Then, Figure 21 shows
relationship of CSC 04_Add-In with other CSCs.
Table 4.4 List of CSUs in CSC 04_Add-In
CSC
Identification
SDD_REQ_400
CSU Name
Description
Ribbon
This CSU manages the transaction
between the user and application
and
on
the
other
side
the
application and Microsoft Exel
Application.
71
Figure 4-9 Relationship of CSC 04_Add-In with other CSCs
4.2.9
CSC 05_SolonWebService [SDD_REQ_500]
Description
This CSC handles all the data communication between th application and the
database and it creates the physical files in the format of excel as templates and
report files. This CSC consists of Two (2) CSU:
1. DataBaseManager
2. SolonWebservice
Table 6 describes the detail description of CSUs. Then, Figure 22 shows relationship
of CSC 05_SolonWebService with other CSCs.
Table 4.5 List of CSUs in CSC 05_SolonWeservice
CSC
Identification
CSU Name
SDD_REQ_500 DataBaseManager
Description
This CSU manages to connects to the
database to query and retrieve the data
72
or update or insert or delete records.
SolonWebservice
This CSU hosts DataBAseManager and
creates all the physical files as the
output of the system.
Figure 4-10 Relationship of CSC 05_SolonWebservice with other CSCs
According to the diagrams SDD could be built up, SDD is one of the most
important parts in designing phase. Please kindly refer appendix to see SDD of this
system.
4.2.10 Class Diagram of the system
The diagram below depicts the overall class diagram and relations between classes:
73
Figure 4-11 Class Diagram of SolonExcel
4.2.11 Achievement
During this phase I had very good quality training with the cutting edge
knowledge regarding Office programming, and Open Office XML. But the
ideas that I could apply and establish in this phase are the other credit for me.
•
Data Entity for business logic tier in the software; I added classes as
Data Entity classes which have responsibility for holding the data
coming from or going to database or physical template and report file,
these classes have part of its business logic inside them, in this case
part of business logic layer transferred to the data entity classes one of
the big advantages of this fact is that the business logic is more
customized based on the type of data entity so encapsulation in Object
Oriented Design is complied.
•
Open XML became an independent component so it could be used in
the other projects and it is going to help to fast up the progress in next
coming projects.
74
4.2.12 Three Tier Architecture
The software has been divided in three tiers with clear and separate responsibility for
each one:
•
Presentation layer
•
Business logic and entity layer
•
Data access layer
Figure 4-12 Structure of Three Tier Architecture
4.2.12.1
Presentation layer
This layer of the system holds all the components that interact with user such
as the forms and the ribbon. All the user requests to the application and response
from the application will be through this layer. This is start point of this system as
well. This layer has connection with the Business layer.
75
4.2.12.2
Business logic and entity layer
This layer f the system holds all the components that are responsible for
processing and executing the algorithms of the system in the other word this part is
the logic and thinking section of the system. Data Entity is another part of this
section that helps business layer to send and receive data from and to other layer it
works as a container for data. As I mentioned before I added some business logic to
Data Entity section, therefore the logic for each type of data will be more
customized. This layer has connection with the Presentation layer and Data Access
layer.
4.2.12.3
Data Access layer
This layer is for communicating with the Oracle database, retrieving,
updating
The data and records in the database are done by this layer. It has connection with
business layer. Execution of queries about creating, reading, updating and deleting
the database records is happening in this layer.
76
4.2.13 Requirement Traceability
The diagram below shows the software requirement traceability that denotes
all CSCs and their respective CSUs that is required for its implementation.
Table 4.6 Traceability Table
Requirements
Source
Allocated
SCS
SRS_REQ_100
Check
CSU
Authentication Use
Case
1.
Client
SRS_REQ_101
Requirement
frmLogin
03_Security
SolonSecurity
05_SolonWebService
SolonWebservice
Specification
2.
Client
SRS_REQ_102
Requirement
DataBaseManager
Specification
3.
Client
SRS_REQ_103
05_SolonWebService
Requirement
SolonWebservice
DataBaseManager
Specification
4.
Client
SRS_REQ_104
05_SolonWebService
SolonWebservice
SRS_REQ_105
03_Security
SolonSecurity
SRS_REQ_106
03_Security
SolonSecurity
SRS_REQ_200
Create template Use
Requirement
Specification
5.
Client
Requirement
Specification
6.
Client
Requirement
Specification
Case
77
Requirements
7.
Source
Allocated
SCS
CSU
Client
SRS_REQ_201
04_Add-In
Ribbon
01_Template
WizardManager
Requirement
Specification
8.
Client
frmViews
SRS_REQ_202
01_Template
Requirement
WizardManager
frmFields
Specification
9.
Client
SRS_REQ_203
01_Template
Requirement
WizardManager
frmCriteria
Specification
10.
Client
SRS_REQ_204
01_Template
WizardManager
SRS_REQ_205
01_Template
frmSorting
05_SolonWebService
SolonWebservice
05_SolonWebService
SolonWebservice
Requirement
Specification
11.
Client
Requirement
Specification
12.
Client
SRS_REQ_206
DataBaseManager
Requirement
Specification
SRS_REQ_300
Edit Template Use
Case
13.
Client
SRS_REQ_301
Requirement
04_Add-In
Ribbon
01_Template
frmBrowse
01_Template
frmBrowse
05_SolonWebService
SolonWebservice
Specification
14.
Client
SRS_REQ_302
Requirement
Specification
15.
Client
Requirement
Specification
DataBaseManager
SRS_REQ_303
01_Template
frmBrowse
78
Requirements
16.
Source
Allocated
SCS
CSU
Client
SRS_REQ_304
01_Template
SolonWebservice
05_SolonWebService
SolonWebservice
SRS_REQ_305
05_SolonWebService
SolonWebservice
SRS_REQ_306
01_Template
frmBrowse
04_Add-In
Ribbon
SRS_REQ_307
01_Template
frmBrowse
SRS_REQ_308
01_Template
frmBrowse
05_SolonWebService
SolonWebservice
05_SolonWebService
SolonWebservice
01_Template
frmBrowse
01_Template
frmBrowse
Requirement
Specification
17.
Client
Requirement
Specification
18.
Client
Requirement
Specification
19.
Client
Requirement
Specification
20.
Client
Requirement
Specification
21.
Client
SRS_REQ_309
Requirement
Specification
22.
Client
SRS_REQ_310
Requirement
WizardManager
Specification
23.
Client
SRS_REQ_311
01_Template
Requirement
WizardManager
Ribbon
Specification
24.
Client
SRS_REQ_312
01_Template
Requirement
WizardManager
frmViews
Specification
25.
Client
Requirement
SRS_REQ_313
01_Template
frmViews
79
Requirements
Source
Allocated
SCS
CSU
SRS_REQ_314
01_Template
frmViews
Specification
26.
27.
Client
Requirement
WizardManager
Specification
frmFields
Client
SRS_REQ_315
01_Template
Requirement
WizardManager
frmFields
Specification
28.
Client
SRS_REQ_316
01_Template
Requirement
frmCriteria
WizardManager
Specification
29.
Client
SRS_REQ_317
01_Template
WizardManager
frmSorting
Requirement
Specification
30.
Client
SRS_REQ_318
01_Template
frmSorting
05_SolonWebService
SolonWebService
SRS_REQ_319
05_SolonWebService
SolonWebService
SRS_REQ_320
01_Template
Requirement
Specification
31.
Client
Requirement
Specification
32.
Client
frmJoin
Requirement
Specification
33.
Client
SRS_REQ_321
01_Template
Requirement
frmCriteria
WizardManager
Specification
34.
Client
SRS_REQ_322
01_Template
frmSorting
SRS_REQ_323
05_SolonWebService
SolonWebService
Requirement
Specification
35.
Client
80
Requirements
Source
SCS
CSU
01_Template
frmSorting
SRS_REQ_324
01_Template
frmSorting
SRS_REQ_325
01_Template
frmSorting
SRS_REQ_326
01_Template
frmSorting
SRS_REQ_400
Generate
Allocated
Requirement
Specification
36.
Client
Requirement
Specification
37.
Client
Requirement
Specification
38.
Client
Requirement
Specification
Report
Use Case
39.
Client
SRS_REQ_401
04_Add-In
Ribbon
SRS_REQ_402
02_Report
frmGenerateReport
SRS_REQ_403
02_Report
frmGenerateReport
05_SolonWebService
DataBaseManager
Requirement
Specification
40.
Client
Requirement
Specification
41.
Client
Requirement
Specification
42.
Client
SolonWebservice
SRS_REQ_404
Requirement
02_Report
05_SolonWebService
Specification
43.
Client
frmGenerateReport
DataBaseManager
SolonWebservice
SRS_REQ_405
02_Report
frmGenerateReport
SRS_REQ_406
02_Report
frmGenerateReport
Requirement
Specification
44.
Client
81
Requirements
Source
Allocated
Requirement
SCS
CSU
05_SolonWebService
SolonWebservice
02_Report
rmGenerateReport
05_SolonWebService
SolonWebservice
02_Report
frmGenerateReport
04_Add-In
Ribbon
05_SolonWebService
SolonWebservice
02_Report
frmGenerateReport
05_SolonWebService
SolonWebservice
Specification
45.
Client
SRS_REQ_407
Requirement
Specification
46.
Client
SRS_REQ_408
Requirement
Specification
47.
Client
SRS_REQ_409
Requirement
Specification
48.
Client
Requirement
Specification
SRS_REQ_410
CHAPTER 5
5. IMPLEMENTATION AND TESTING
5.1.1
Implementation
Implementation (coding) based on prepared design was carried out. Microsoft
Visual Studio 2005 has been used as software implementation tool, and the
programming is based on .Net 3.5 technology, the programming language was C# is
convenient and flexible for coding.
The system coding is based on three-tier programming more details will be described
in the chapter five.
The implementation process started with designing GUI (Graphic User
Interface) and then business logic and Entity layer and at the end components
connecting to other services or entities outside the software environment.
5.1.1.1 Achievement
During the implementation I noticed that some oracle queries take time more
that standards after some researches and modeling and testing other components I
found out that using The Oracle Data Provider for .NET (ODP.NET) cause this long
83
lasting query execution I replaced it with OLEDB (Object Linking and Embedding
Database) and the performance enhanced for almost 50%.
Table 5.1 Comparing performance of query execution in the two Data Providers
Query Number
ODP.NET Execution
OLEDB Execution
Duration(second)
Duration(second)
1
240
100
2
150
70
3
90
50
4
400
235
The following pictures are output from each module:
5.1.1.2 Security Forms
Figure 5-1 Login form
84
Figure 5-2 Security warning
5.1.1.3 Template forms
Figure 5-3 Selecting views
85
Figure 5-4 Selecting fields
Figure 5-5 Join form
86
Figure 5-6 Condition form
Figure 5-7 Sorting and finalizing form
87
5.1.1.4 Report forms
Figure 5-8 Browse form
88
Figure 5-9 Report Result
89
Figure 5-10 Report result with chart and pivot table
90
5.1.2
Testing
Testing phase is the step that is one of the major concepts in V-Model, as
motioned before each phase at the left wing of the V-Model is associated with one of
the milestones at the right side which is a test phase. Since I have been working in
Pentasoft for 5 months and estimation for this project is 8 months unfortunately I will
not be able to include a complete document for the test phases, so far we have done
some unit testing for the report and document generator engine of the system, in
order to test different circumstances in the system our test team came up with a unit
tester utility, this tool gets name of the template and format of the output as an
individual test or a group of template file as a batch test all together, in this case the
result of the execution of this tool is the excel report and a log file which has the
information indicating whether the generating was successful or not.
The test script regarding this process has been attached to this document as an
appendix.
Figure 5-11: General process figure
91
5.2
System Requirements
System requirements are listed in following tables these requirements are
minimum requirements.
5.2.1
Hardware / Software Selection Criteria
5.2 Stand-Alone Criteria
STAND-ALONE
Criteria
Description
Power
Memory
Storage
Space
Operating System
Windows 98
P3
512MB
120MB
Windows XP
P4
512MB
2GB
Windows 2000
P4
512MB
2GB
Browser
IE 6.0 (sp2)
128MB
12MB
Editor
Ms Office 2007
512MB
1GB
PentaReport
(Application size)
Ms Office 2007
(Add-In)
512MB
5MB
Table 5.3 Server And Database Criteria
DATABASE SERVER
Criteria
Description
Power
Memory
Storage
Space
Operating System
Windows
Server 2003
1GB
10GB
DBMS
Oracle 9i
2GB
5GB
Oracle 10G
2GB
5GB
Total Number of
Users
3000
Maximum number
of Concurrent
Users
30
92
60GB
Production Data
Volume and its
growth ratio
Audit Trail
Sensitivity
5.3
Minimum
Deployment Diagram
Figure 5-12 Deployment Diagram
5GB
CHAPTER 6
6. CONCLUSION
6.1
Expectation
Based on all the knowledge I have acquired from my Master’s studies and my
lecturers and my academic supervisor and all the precious experiences I got form the
Industrial Attachment and my industrial supervisor the achievements could be
categorized as following:
1. Software Project output
2. Engineering Software Documents output
3. Personal experiences
The rest of this chapter is explaining these three items.
6.2
Project Review
In this part we have some general review about the project.
94
6.2.1
Software Project
SolonExcel Application was developed in order to help other insurance
softwares of the company. This system is able to fetch data from insurance databases
and structures the data based on user requirements such as conditions, sorting,
joining data together, charts, tables and so on, also it customizes the layout of the
template and prepares a customized and useful template for the end user also it
provides generating the report based on the template and since this system is an addin of Microsoft Excel user could use all the Microsoft Excel features unlimitedly to
fulfill his/her requirement.
This software is based on Microsoft .Net Framework version 3.5 the latest one, VModel is chosen for software methodology.
6.2.2
Engineering Software Documents
In this project I have come up with two engineering documents: Software
Requirements Specification (SRS) and Software Design Description (SDD). As for
the Software Requirements Specification (SRS) document I was suggested by the
company to follow their own template which is one of the IEEE templates.
Regarding Software Design Description (SDD) I had this option to follow CASE
template which is DoD-Std-2167A (Defense System Software Development)
therefore the Software Design Description of this software is based on DoD
standards.
6.2.3
Personal Experiences
This part is the most important achievement for me, during these five months
working with the company I really had this opportunity to work in real market and
95
professional environment and the most important one; working with one of the
successful companies in field of insurance softwares which is doing business
domestically and in international market. I really had this chance to know how my
academic knowledge could be utilized in real job and how I can make balance with
the real job and real market needs and academic standards and principles. One of the
valued lessons that school is never capable of teaching it to engineer students is
communication with the working environment and colleagues I had this great
opportunity to work with other engineers and employees and learn how to work with
them without any clash and interference.
Figure 6-1 SolonExcel Logo
6.3
Future work and Recommendation
The future plan for this projects is to enhance and optimize the system in
terms of injecting data in the excel file, adding this feature that the system could be
able to use different types of data sources such as Microsoft SQL Server, MySQL
and so on plus this feature helps that SolonExcel is going to be able to go deeper in
the data structures for example building data queries based on two different data
sources type and two different data tables. Enhancing the Graphic User Interfaces
(GUI) and using new technologies in this software such as Windows Presentation
96
Foundation (WPF) to improve the user interaction could be another part of the wish
list.
97
REFERENCES
[1] Frederick C. Mish.Merriam-Webster's Collegiate. Merriam-Webster. 2003
[2] Avdesh Gupta, Avdesh Gupta Anurag Malik, Anurag Malik.Management
Information Systems. Firewall Media. 2005
[3] O’Brien, J.Management Information Systems – Managing Information
Technology in the Internetworked Enterprise. Boston: Irwin McGraw-Hill. 1999
[4] Kumar N. Management Information System. Anmol Publications PVT. LTD.
1995
[5] Uche Ogbuji. Thinking XML: The XML decade,Principal Consultant.
Fourthought Inc. http://www.ibm.com/developerworks/library/x-think38.html. 2006
[6] Tim Anderson (2004). Introducing XML. http://www.itwriting.com/xmlintro.php
[7] Erik T. Ray. Learning XML: [creating self-describing data]. 2nd edition. O'Reilly.
2003
[8] IDA. TAC approval on conclusions and recommendations on open document
formats. http://europa.eu.int/idabc/en/document/2592/5588. 2004
[9] ECMA. TC45 - Office Open XML Formats. http://www.ecmainternational.org/memento/TC45.htm.
98
[10] Wouter van Vugt. Open XML The markup explained. OpenXMLDeveloper.
2007
[11] Larry Osterman. Why no Easter Eggs?.
http://blogs.msdn.com/larryosterman/archive/2005/10/21/483608.aspx. Retrieved on
2006-07-29. MSDN. 2005
[12] IBM. New To Rational. http://www.ibm.com/developerworks/rational/newto/.
IBM. 2002
[13] Microsoft. analyzing requierments and defining Microsoft .NET solution
architecture. Microsoft press. 2003
[14] Craig. The V-Model; The value of quality and testing.
http://www.betterprojects.net/2007/07/v-model-value-of-quality-andtesting_02.html. 2007
[15] D. W. Walker. Computer Based Information Systems: An Introduction.
Pergamon. 1998
[16] Michael Keeble Buckland. Information and Information Systems. Illustrated.
Greenwood Publishing Group. 1991
[17] Lee Ratzan. Understanding Information Systems: What They Do and why We
Need Them. Illustrated. ALA Editions. 2004
[18] Gunther Lenz, Thomas Moeller. .NET: A Complete Development Cycle.
Illustrated. Addison-Wesley. 2003
[19] Alvin Bruney, Professional VSTO 2005: Visual Studio 2005 Tools for Office,
John Wiley and Sons, 2006
99
[20] Jesse Liberty, Programming C#, 4, O'Reilly, 2005
Appendix A
:
SOFTWARE REQUI REMENT S SPECIFI CATIONS
PROJECT GANT CHART
101
Appendix B
:
SOFTWARE REQUI REMENT S SPECIFI CATIONS
Test Scripts
Test Script Document
Project Name
SolonExcel
Test Case Ref No.
Author
Behdad Baniani
Date
Reviewed By
Department/
2/2/2009
Approved By
Testing Type
Web team
Function Testing x
Section
Process Testing
System Testing
Probability
Of Real Time
Occurrence
Business Impact
Financial Impact
Low
Low
Low
Medium
Medium
High
X
High
X
X
Medium
High
Test Script Objective
If client input the template name, document argument (by console or file) and output format, the system will generate the document(s) and it
will detect the invalid document’s argument.
Pentasoft Project Control
Page 1 of 20
Test Script References
Reference
Type
Reference No
Reference Description
Pre-Requisite
Template name, full Excel document argument(s) and output format must be given by the client in console or by passing a text
file holding the document argument(s) only, the formats is as following:
By Console:
Solonconsole –T(template_name) –N(document argument(s) with comma as separator) –O(output_format)
By Batch File:
Solonconsole –T(template_name) –F(file_path) –O(output_format)
Pentasoft Project Control
Page 2 of 20
Business
Date
Process
NA
NA
Function
1. Generate
document(s) by
console.
solonconsole -TTest_FC1
2. Generate
document(s) (No
template name
included).
3. Generate
document(s) (more
than one template
name included).
solonconsole
4. Generate
document(s) (No
document
argument(s)
included).
5. Generate
document(s) (No
output format
included).
Pentasoft Project Control
Test Scenario/Data
-NGL200800005011,123,456,789
-Oxlsx
-NGL200800005011,123,456,789
-Oxlsx
solonconsole -TTest_FC1
–Ttest_FC2
-NGL200800005011,123,456,789
-Oxlsx
solonconsole -TTest_FC1
-Oxlsx
solonconsole -TTest_FC1
-NGL200800005011,123,456,789
Expected Result
Actual Result
A log file has been
created
Refer Appendix I
Incomplete arguments (&
general help is displayed)
Refer Appendix II
Multiple T argument has
been detected (Only the
first one will be
processed)
Refer Appendix III
A log file has been
created
Please indicate document
number
Please indicate document
number, Please indicate
output format
Refer Appendix IV
Refer Appendix V
Page 3 of 20
Business
Date
Process
Function
6. Generate
document(s) (more
than one output
format included).
Test Scenario/Data
solonconsole -TTest_FC1
-NGL200800005011,123,456,789
–Oxlsx -Opdf
Expected Result
Multiple O argument has
been detected (Only the
first one will be
processed)
Actual Result
Refer Appendix VI
A log file has been
created
7. Generate
solonconsole -TTest_FC1
document(s) by
–Fc:\abc.txt -Oxlsx
passing
argument(s) in file .
8.Generate
solonconsole -TTest_FC1
document(s) by
–Fc:\abc.txt -Oxlsx
passing
argument(s) in file
& its not found.
9. Generate
solonconsole -TTest_FC1
document(s) by
–Fc:\abc.txt –Fc:\xyz.txt -Oxlsx
passing
argument(s) in file
& (More than one
file included).
Pentasoft Project Control
A log file has been
created
Refer Appendix VII
File not found
Refer Appendix VIII
Multiple F argument has
been detected (Only the
first one will be
processed)
Refer Appendix IX
A log file has been
created
Page 4 of 20
Business
Date
Process
Pentasoft Project Control
Function
Test Scenario/Data
Expected Result
Actual Result
10. Create a log file solonconsole -TTest_FC1
for successful run
& it can shows -NGL200800005011,123,456,789
-Oxlsx
unsuccessful
document(s).
11.Show template’s
solonconsole -?Test_FC1
parameter(s) help
A log file has been
created
Refer Appendix X
Template’s parameter
help form is displayed.
Refer Appendix XI
12.Show template’s
solonconsole -?Test
parameter(s) help,
passing
invalid
template’s name.
13.Show business
solonconsole
data help.
-?ALLDOCUMENTS
14.Show business solonconsole
data help, passing
invalid
business -?ALLDO
data.
15. Show general
solonconsole
help (passing none
arguments).
Invalid template name
error displayed.
Refer Appendix XII
business data help form is
displayed.
Refer Appendix XIII
Invalid business data
Refer Appendix XIV
General help is displayed.
Refer Appendix XV
Page 5 of 20
Appendix
Enter October 28 2008
Appendix I
Pentasoft Project Control
Page 6 of 20
Appendix II
Pentasoft Project Control
Page 7 of 20
Appendix III
Pentasoft Project Control
Page 8 of 20
Appendix IV
Pentasoft Project Control
Page 9 of 20
Appendix V
Pentasoft Project Control
Page 10 of 20
Appendix VI
Pentasoft Project Control
Page 11 of 20
Appendix VII
Pentasoft Project Control
Page 12 of 20
Appendix VIII
Pentasoft Project Control
Page 13 of 20
Appendix IX
Pentasoft Project Control
Page 14 of 20
Appendix X
Pentasoft Project Control
Page 15 of 20
Appendix XI
Pentasoft Project Control
Page 16 of 20
Appendix XII
Pentasoft Project Control
Page 17 of 20
Appendix XIII
Pentasoft Project Control
Page 18 of 20
Appendix XIV
Pentasoft Project Control
Page 19 of 20
Appendix XV
Pentasoft Project Control
Page 20 of 20
Appendix C
:
SO FTWAR E REQUIREMENTS SPECIFI CATIONS
SOFTWARE REQUIREMENTS
SPECIFICATIONS
(SRS)
Software Requirements
Specification
for
SolonExcel
Version 1.0 approved
Prepared by Behdad Baniani
Pentasoft
23/1/2009
Software Requirements Specification for SolonExcel
Page ii
Table of Contents
Table of Contents.................................................................................................... ii
Revision History .................................................................................................... iii
1. Introduction ...................................................................................................... 1
1.1
1.2
1.3
1.4
1.5
Purpose ............................................................................................ 1
Document Conventions ........................... Error! Bookmark not defined.
Intended Audience and Reading Suggestions ......................................... 1
Project Scope .................................................................................... 1
References ........................................................................................ 1
2. Overall Description ............................................................................................ 2
2.1
2.2
2.3
2.4
2.5
Product Perspective ............................................................................ 2
Product Features ................................................................................ 4
User Classes and Characteristics .......................................................... 4
Design and Implementation Constraints ................................................ 5
Assumptions and Dependencies ........................................................... 5
3. System Features ................................................................................................ 6
3.1 Use Case Check Authentication (SRS_REQ_100) .................................... 7
3.1.1 Brief description .............................................................................. 7
3.1.2 Pre-Condition(s).............................................................................. 7
3.1.3 Description ..................................................................................... 7
3.1.4 Post condition(s) ............................................................................. 7
3.1.5 Rule(s) .......................................................................................... 8
3.1.6 Constrain(s) ................................................................................... 8
3.1.7 GUI ............................................................................................... 8
3.2 Use Case Create Template (SRS_REQ_200)........................................... 8
3.2.1 Brief description .............................................................................. 8
3.2.2 Pre-Condition(s).............................................................................. 8
3.2.3 Description ..................................................................................... 9
3.2.4 Post condition(s) ........................................................................... 10
3.2.5 GUI ............................................................................................. 11
3.3 Use Case Edit Template (SRS_REQ_300) ............................................ 15
3.3.1 Brief description ............................................................................ 15
3.3.2 Pre-Condition(s)............................................................................ 15
3.3.3 Description ................................................................................... 15
3.3.4 Post condition(s) ........................................................................... 17
3.3.5 Rule(s) ........................................................................................ 17
3.3.6 Constrain(s) ................................................................................. 17
3.3.7 GUI ............................................................................................. 18
3.4 Use Case Generate Report (SRS_REQ_400)......................................... 19
3.4.1 Brief description ............................................................................ 19
3.4.2 Pre-Condition(s)............................................................................ 19
3.4.3 Description ................................................................................... 19
3.4.4 Post condition(s) ........................................................................... 20
3.4.5 Rule(s) ........................................................................................ 20
3.4.6 Constrain(s) ................................................................................. 20
3.4.7 GUI ............................................................................................. 21
3.5 Requirement Traceability ................................................................... 22
4. External Interface Requirements ..................................................................... 26
4.1
4.2
4.3
4.4
User Interfaces ................................................................................ 26
Hardware Interfaces ......................................................................... 26
Software Interfaces .......................................................................... 26
Communications Interfaces ............................................................... 28
Software Requirements Specification for SolonExcel
Page iii
5. Other Nonfunctional Requirements .................................................................. 29
5.1 Performance Requirements................................................................ 29
5.2 Safety Requirements ........................................................................ 29
5.3 Security Requirements ...................................................................... 29
5.4 Software Quality Attributes................................................................ 29
5.5 Special user requirements ................................................................. 29
5.5.1 Business rules .............................................................................. 29
5.5.2 Installation ................................................................................... 29
Appendix A: Glossary ............................................................................................ 30
APPENDIX B: Analysis Models ............................................................................... 31
Revision History
Name
Date
Reason For Changes
Version
Software Requirements Specification for SolonExcel
Page 1
1. Introduction
1.1 Purpose
This Software Requirements Specification provides a complete description of all the functions and
specifications of SolonExcel. The expected audience of this document is the faculty of Centre of
Advanced Software Engineering, including Pentasoft and the clients who will use this system.
1.2 Intended Audience and Reading Suggestions
Clients: The users of the system will get a clear idea of the software and hardware requirements to
be engaged.
Technicians: They will be in a position to attain the various features that are enabled in the
software there by inducing a new definition for security.
Developers: Project developers have an advantage of quickly understanding the methodology
enabled and personalizing the product.
1.3 Project Scope
SolonExcel is a reporting tool that helps business user to create their own template and select
their required data and generate the report based on that. This tool is an add-in inside the
Microsoft Excel Therefore, format of the templates and reports are Microsoft Excel file and this fact
provides huge benefit of having Microsoft Excel features to customize and manage the data. When
integrated with PentaISF, an insurance organization saves major IT costs in managing large
number of letters and reports. PENTASOFT strongly believes that it will help individuals to insure
their data.
1.4 References
www.spreadsheets.about.com
www.openxmldeveloper.org
www.pentasoft.com.my
www.msdn.microsoft.com
Software Requirements Specification for SolonExcel
2. Overall Description
2.1 Product Perspective
Figure 1: The use case
Page 2
Software Requirements Specification for SolonExcel
Page 3
Once the user open the software he could be able to create template in order to do that he first
selects all views (data source) and selects fields he want to have a role the report from those
views or business data, next step is modifying criteria or conditions for the reports in daily
processes people need accurate and customized data which he been filtered and arranged
based n their own requirement for that purpose SolonExcel gives this feature to modify the
report. Next step is sorting the data if the user wants. Last step of creating the structure of the
template is setting general information of the template such as name of template, description if
it is needed and giving line of business and service type which are kind of classification and is
for categorizing purpose. After the user does all of these processes raw template opens in the
Microsoft Excel software and he could do customization for his template, such as defining
charts and pivot tables, Formatting table, auto filtering, sorting, conditional formatting,
coloring, setting font, adding header and footer and extra texts and so on.
Now the template is ready it can be generated and retrieving the information with desired
layout and design. For this purpose use can selected the template from view templates form
and hit the generate button, the reports would be generating, once the report is ready it will be
shown in Microsoft Excel and ready to use it or editing and do more customizations by
Microsoft Excel features.
Another major feature of SolonExcel is modifying the existing templates, as for that user can
select any of the ready templates and all the information of the templates is showing to the
user step by step same as wizard pages for creating templates, user can change any of the
settings and save the template again.
Figure 2 Overview figure
Software Requirements Specification for SolonExcel
Page 4
2.2 Product Features
The system provides user login.
The system provides user’s password encryption using SHA1.
The system provides password generation capability.
The system provides Microsoft Excel file for templates.
The system has a database which is in Oracle to handle all the system data. All the operations
and data processing will be in the database as procedures and functions using Oracle.
The system has a Web service which is developed using .Net, which has been installed at the
server side; it works as an interface between the application (Solon Excel Tool) and the
database.
The system obtains the inserted data from the user and passes it in XML format to web
services to be processed and inserted to database.
The Application processes the XML data that’s retrieved from the database by the Web Service
to be viewed by the user automatically.
All the data transfer from the front end system to the back end system and vies-versa is in
XML format.
All the data transferring over the network is in compressed format in order of performance.
2.3 User Classes and Characteristics
All users can be assumed to have the following characteristics:
Ability to read and understand English.
Familiarity with the operation of the basic Graphical User Interface (GUI) components.
Software Requirements Specification for SolonExcel
Having basic knowledge about Microsoft Excel and its features.
Beyond the above, no further facility with computer technology can be assumed.
2.4 Design and Implementation Constraints
OOAD using UML notation.
2.5 Assumptions and Dependencies
Each User must have a Username and password.
There are multiple Administrators.
Microsoft .NET Framework 3.5 should be installed.
Page 5
Software Requirements Specification for SolonExcel
Page 6
3. System Features
This paragraph identifies all the capability requirements that the CSCI General Insurance must
satisfy.
Figure 3 General Use case
Software Requirements Specification for SolonExcel
Page 7
3.1 Use Case Check Authentication (SRS_REQ_100)
3.1.1 Brief description
This use case is initiated by the Agent. It provides user login capability.
Figure 4 Check Authentication Usecase
3.1.2 Pre-Condition(s)
Database is accessible.
All the CSCI parameters are initialized.
3.1.3 Description
This sub paragraph shall describe the basic flow, alternative flow and exception flow of the
Login use case.
3.1.3.1 Basic Flow
1. The use case begins when the user selects login form and enters username and password
(SRS_REQ_101).
2. The frmLogin form gets username and password to SlonSecurity to verify them
(SRS_REQ_102).
3. The SolonSecurity requests user information from solonwebservice (SRS_REQ_103).
4. Solonwebservice gets data from database manager (SRS_REQ_103).
5. Databasemanager returns info (SRS_REQ_103).
6. The Solon Webservice returns user information [E1:User name or password does not exist]
(SRS_REQ_104).
7. The Solon security does Process user verification and its roles and rights (SRS_REQ_105).
3.1.3.2 Exception Flow(s)
E1: User name or password does not exist (SRS_REQ_106).
1. If the Agent’s verification username and password was unverified, the system will cancel
password generation process and show “Invalid Username and Password”.
2. SolonSecurity shows the message to the user.
3.1.4 Post condition(s)
User is logged into the system and can start using it.
Software Requirements Specification for SolonExcel
Page 8
3.1.5 Rule(s)
Not applicable.
3.1.6 Constrain(s)
Not applicable.
3.1.7 GUI
Figure 5 Login Form
3.2 Use Case Create Template (SRS_REQ_200)
3.2.1 Brief description
This use case is initiated by the Administrator. It provides managing users information (adding
new user, deleting and altering users information and user groups) capability.
Figure 6 Create Template Usecase
3.2.2 Pre-Condition(s)
1. Database is accessible.
Software Requirements Specification for SolonExcel
Page 9
2. All the CSCI parameters are initialized.
3. User has been authenticated and logged in has been login.
3.2.3 Description
This sub paragraph shall describe the basic flow, alternative flow and exception flow of the
Create template use case.
3.2.3.1 Basic Flow
1. The use case begins when the user presses "Data" data button
in the Ribbon (SRS_REQ_201).
2. Ribbon calls Wizard manager to start wizard pages (SRS_REQ_201).
3. frmViews is called by wizardManager to show the form (SRS_REQ_201).
4. frmViews displays to user(SRS_REQ_201).
5. The userselect views (SRS_REQ_201).
6. The user selects next page (SRS_REQ_201).
7. WizardManager is being asked to show next page (SRS_REQ_202).
8. frmFields is called to be shown (SRS_REQ_202).
9. frmFields displays to the user (SRS_REQ_202).
10. The user selects needed fields (SRS_REQ_202).
11. The user selects next form (SRS_REQ_202).
12. WizardManager is asked to call next form [A1:SettingJoin] (SRS_REQ_203).
13. frmCriteria is called to be shown (SRS_REQ_203).
14. frmCriteria is visible to user (SRS_REQ_203).
15. The user selects next form button [A2: SettingCriteria] (SRS_REQ_203).
16. WizardManager is being asked to show next page (SRS_REQ_204).
17. frmSorting form is called to show the form by WizardManager (SRS_REQ_205).
18. frmSorting is visible to user (SRS_REQ_205).
19. The user enters template information (SRS_REQ_205).
20. The user presses “Done” button (SRS_REQ_205).
21. Template information is being sent to solon webservice[A3:Setting Sort]
(SRS_REQ_205).
22. SolonWebservice create the physical template Excel file [E1:Template name already exists
[E2: Join Query syntax is wrong][E3: Criteria Query syntax is wrong][E4: Order by query
syntax is wrong] (SRS_REQ_206).
23. Databasemanager saves templates data (SRS_REQ_206).
24. Return the template link (SRS_REQ_206).
3.2.3.2 Alternative Flow(s)
A1: Setting Join (SRS_REQ_207)
1. The user set join setting.
2. The frmJoin prepare the join part of query[E2:Query syntax is wrong].
3. The user presses next.
A2: Settings Criteria (SRS_REQ_208)
1. The user sets criteria information.
2. frmCriteria prepare the query of criteria part[E2:Query syntax is wrong].
3. The user press Next Button.
A3: Setting Sort (SRS_REQ_209)
1. The user set sorting(order by).
Software Requirements Specification for SolonExcel
Page 10
2. frmSorting prepare the query[E3:Order by query syntax already exists].
3. The user selects next button.
3.2.3.3 Exception Flow(s)
E1: Template name already exists (SRS_REQ_210)
1. If name of template is already exists in the system SolonWebservice returns “Template
name already exist” message.
2. frmSorting shows the message to the user.
E2: Join Query syntax is wrong (SRS_REQ_211)
1. If the query syntax is wrong frmjoin returns “Query syntax is wrong” Message.
E3: Criteria Query syntax is wrong (SRS_REQ_212)
1. If the query syntax is wrong frmCriteria returns “Query syntax is wrong” Message.
E4: Order by query syntax is wrong (SRS_REQ_213)
1. If the query syntax is wrong frmSorting returns “Query syntax is wrong” Message.
3.2.4 Post condition(s)
Template’s data modified and Template’s information is stored in the database and physical
template file is created In the server and it should be opened in the current Microsoft Excel
application.
Software Requirements Specification for SolonExcel
3.2.5 GUI
Figure 7 Selecting views Form
Page 11
Software Requirements Specification for SolonExcel
Figure 8 Selecting Fields Form
Page 12
Software Requirements Specification for SolonExcel
Figure 9 Conditions Form
Page 13
Software Requirements Specification for SolonExcel
Figure 10 Sort Form
Page 14
Software Requirements Specification for SolonExcel
Page 15
3.3 Use Case Edit Template (SRS_REQ_300)
3.3.1 Brief description
This use case is initiated by the User. It provides Editing template.
Figure 11 Edit Template Use Case
3.3.2 Pre-Condition(s)
1. Database is accessible.
2. All the CSCI parameters are initialized.
3. User has been login.
3.3.3 Description
This sub paragraph shall describe the basic flow, alternative flow and exception flow of the Edit
template use case.
3.3.3.1 Basic Flow(s)
1. The User Press Browse Button in ribbon (SRS_REQ_301).
2. Ribbon calls Show Form of frmBrowse (SRS_REQ_301).
3. frmBrowse requests Templates information from SolonWebSerivice (SRS_REQ_302).
4. DatabaseManager is being asked information of the templates (SRS_REQ_302).
5. DatabaseManager returns information of the templates (SRS_REQ_302).
6. SolonWebservice returns the template information list (SRS_REQ_302).
7. frmBrowse Shows templates in grid to the user(SRS_REQ_303).
8. the user selects a templates (SRS_REQ_303).
9. user press “OK” button (SRS_REQ_303).
10. frmBrowse ask file link loacation from SolonWebservice[A1:EditButton]
(SRS_REQ_304).
11. SolonWebservice returns file link information (SRS_REQ_305).
12. frmBrowse calls Ribbon to open the template file in Microsoft Excel (SRS_REQ_306).
3.3.3.2 Alternative Flow(s)
A1:EditButton
1. The user presses "Edit" (SRS_REQ_307).
2. frmBrowse ask template information from SolonWebservice (SRS_REQ_308).
Software Requirements Specification for SolonExcel
Page 16
3. The SolonWebservice returns template information (SRS_REQ_309).
4. frmBrowse calls ManagerWizard in edit mode (SRS_REQ_310).
5. The system Ribbon calls WizardManager (SRS_REQ_311).
6. WizardManager Shows frmViews with the selected view from the template
(SRS_REQ_312).
7. frmViews displays to user (SRS_REQ_313).
8. The user selects views (SRS_REQ_314).
9. The user selects next page (SRS_REQ_314).
10. WizardManager is being asked to show next page (SRS_REQ_314).
11. frmFields is called to be shown (SRS_REQ_314).
12. frmFields displays to the user (SRS_REQ_314).
13. The user selects needed fields (SRS_REQ_315).
14. The user selects next form (SRS_REQ_315).
15. WizardManager is asked to call next form [A2:SettingJoin] (SRS_REQ_315).
16. frmCriteria is called to be shown (SRS_REQ_316).
17. frmCriteria is visible to user (SRS_REQ_316).
18. The user selects next form button [A3: SettingCriteria] (SRS_REQ_316).
19. WizardManager is being asked to show next page (SRS_REQ_316).
20. frmSorting form is called to show the form by WizardManager (SRS_REQ_17).
21. frmSorting is visible to user (SRS_REQ_317).
22. The user presses “Done” button (SRS_REQ_317).
23. Template information is being sent to solonWebService[A4:Setting Sort]
(SRS_REQ_318).
24. SolonWebservice recreate the template. [E1:Template has been deleted][E2: Join Query
syntax is wrong][E3:Criteria query syntax is wrong][E4:Order by Query syntax is wrong]
(SRS_REQ_319)
25. SolonWebservice returns the link of recreated template (SRS_REQ_319).
A2:SettingJoin
1. The user set join setting (SRS_REQ_320).
2. The frmJoin prepare the join part of query [E2:Query syntax is wrong] (SRS_REQ_320).
3. The user presses next (SRS_REQ_320).
4. The Flow is being continued at step 12 in A1 (SRS_REQ_320).
A3: Settings Criteria
1. The user sets criteria information (SRS_REQ_321).
2. frmCriteria prepare the query of criteria part[E2:Query syntax is wrong]
(SRS_REQ_321).
3. The user press Next Button (SRS_REQ_321).
A4: Setting Sort
1. The user set sorting(order by) (SRS_REQ_322).
2. frmSorting prepare the query[E3:Order by query syntax already exists] (SRS_REQ_322).
3. The user selects next button (SRS_REQ_322).
3.3.3.3 Exception Flow(s)
E1: Template has been deleted (SRS_REQ_323)
1. SolonWebservice returns “Template has been deleted” message.
2. frmSorting returns the message to the user.
Software Requirements Specification for SolonExcel
Page 17
E2: Join Query syntax is wrong (SRS_REQ_324)
1. If the query syntax is wrong frmjoin returns “Query syntax is wrong” Message.
E3: Criteria Query syntax is wrong (SRS_REQ_325)
1. If the query syntax is wrong frmCriteria returns “Query syntax is wrong” Message.
E4: Order by query syntax is wrong (SRS_REQ_326)
1. If the query syntax is wrong frmSorting returns “Query syntax is wrong” Message.
3.3.4 Post condition(s)
Template has been updated based on new modification and should be opened in the current
Microsoft Excel application.
3.3.5 Rule(s)
3.3.6 Constrain(s)
Software Requirements Specification for SolonExcel
3.3.7 GUI
Figure 12 Brows and Edit Template Form
Page 18
Software Requirements Specification for SolonExcel
Page 19
3.4 Use Case Generate Report (SRS_REQ_400)
3.4.1 Brief description
This use case is initiated by the user. It provides generating a report based on a saved
template.
Figure 13 Generate Report Use Case
3.4.2 Pre-Condition(s)
1.
2.
3.
4.
Database is accessible.
All the CSCI parameters are initialized.
User has been login.
At least one template has been in the system.
3.4.3 Description
This sub paragraph shall describe the basic flow, alternative flow and exception flow of the
Generate Report use case.
3.4.3.1 Basic Flow(s)
1. The user press “Generate” button (SRS_REQ_401).
2. Ribbon calls frmViewTemplate showForm (SRS_REQ_402).
3. frmGenerateReport asks SolonWebservice to get Template List (SRS_REQ_403).
4. Databasemanager is being asked to return template list info(SRS_REQ_403).
5. SolonWebservice returns template List (SRS_REQ_404).
6. frmGenerateReport shows templates info in a grid format to the user (SRS_REQ_404).
7. User selects a template (SRS_REQ_405).
8. User press “Generate” button (SRS_REQ_405).
9. frmGenerateReport calls SolonWebservice to generate the report (SRS-REQ_406).
10. SolonWebservice retrieves open xml of the template (SRS_REQ_407).
11. SolonWebservice prepare data base on query embedded in the template [E1: database is
empty] (SRS_REQ_407).
12. SolonWebservice merges data and template and apply the other settings of openxml
[E2:Number of cells ecxeeds more than Microsoft excel limitation] (SRS_REQ_407).
13. SolonWebservice saves the excel file (SRS_REQ_407).
14. SolonWebservice sends links of file to frmGenerateReport form (SRS_REQ_407).
Software Requirements Specification for SolonExcel
Page 20
15. frmGenerateReport calls Ribbon to open the report file in Microsoft Excel
(SRS_REQ_408).
3.4.3.2 Alternative Flow(s)
N/A
3.4.3.3 Exception Flow(s)
E1: database is empty
1. SolonWebservice returns “Report is empty” message (SRS_REQ_409).
2. frmGenerateReport show the message to the user (SRS_REQ_409).
E2: Number of cells ecxeeds more than Microsoft excel limitation
1. SolonWebservice cuts date less than Microsoft Excel limitation (SRS_REQ_410).
2. SolonWebservice merges the cut data and template and applies the other settings of
openxml (SRS_REQ_410).
3. The flow continues frm step number 12 of basic flow (SRS_REQ_410).
3.4.4 Post condition(s)
Report should be created and opened in the Microsoft Excel application.
3.4.5 Rule(s)
3.4.6 Constrain(s)
Software Requirements Specification for SolonExcel
3.4.7 GUI
Figure 14 Generate Form
Page 21
Software Requirements Specification for SolonExcel
Page 22
3.5 Requirement Traceability
Requirements
Descriptions
Source
Allocated
Client
Requirement
Specification
SRS_REQ_100
Check Authentication Use Case
SRS_REQ_101
The use case begins when the user selects login
form and enters username and password
SRS_REQ_102
The frmLogin form gets username and password
to SlonSecurity to verify them
SRS_REQ_103
Client
Requirement
Specification
•
The SolonSecurity requests user information from
solonwebservice.
•
Solonwebservice gets data from database manager
•
Databasemanager returns info
SRS_REQ_104
The Solon Webservice returns user information
SRS_REQ_105
The Solon security does Process user verification
and its roles and rights
SRS_REQ_106
User name or password does not exist
SRS_REQ_200
Create template Use Case
SRS_REQ_201
SRS_REQ_202
SRS_REQ_203
SRS_REQ_204
SRS_REQ_205
•
The use case begins when the user presses "Data"
data button in the Ribbon
•
Ribbon calls Wizard manager to start wizard pages
•
frmViews is called by wizardManager to show the
form
•
frmViews displays to user
•
The userselect views
•
The user selects next page
•
WizardManager is being asked to show next page
•
frmFields is called to be shown
•
frmFields displays to the user
•
The user selects needed fields
•
The user selects next form
•
WizardManager is asked to call next form
•
frmCriteria is called to be shown
•
frmCriteria is visible to user
•
The user selects next form button
WizardManager is being asked to show next page
•
frmSorting form is called to show the form by
WizardManager
•
frmSorting is visible to user
Software Requirements Specification for SolonExcel
Requirements
Source
Descriptions
Allocated
SRS_REQ_206
Client
Requirement
Specification
Page 23
SRS_REQ_300
SRS_REQ_301
SRS_REQ_302
SRS_REQ_303
•
The user enters template information
•
The user presses “Done” button
•
Template information is being sent to solon
webservice
•
SolonWebservice create the physical template Excel
file
•
Databasemanager saves templates data
•
return the template link
Edit Template Use Case
•
User Press Browse Button in ribbon.
•
Ribbon calls Show Form of frmBrowse.
•
frmBrowse requests Templates information from
SolonWebSerivice
•
DatabaseManager is being asked information of the
templates
•
DatabaseManager returns information of the
templates
•
SolonWebservice returns the template information
list
•
frmBrowse Shows templates in grid to the user
•
the user selects a templates
•
user press “OK” button
SRS_REQ_304
frmBrowse ask file link loacation from
SolonWebservice
SRS_REQ_305
SolonWebservice returns file link information
SRS_REQ_306
frmBrowse calls Ribbon to open the template file
in Microsoft Excel
SRS_REQ_307
The user presses "Edit"
SRS_REQ_308
frmBrowse ask template information from
SolonWebservice
SRS_REQ_309
The SolonWebservice returns template
information
SRS_REQ_310
frmBrowse calls ManagerWizard in edit mode
SRS_REQ_311
The system Ribbon calls WizardManager
SRS_REQ_312
WizardManager Shows frmViews with the
selected view from the template
SRS_REQ_313
frmViews displays to user
Software Requirements Specification for SolonExcel
Requirements
Source
Page 24
Descriptions
Allocated
SRS_REQ_314
SRS_REQ_315
SRS_REQ_316
SRS_REQ_317
•
The user selects views
•
The user selects next page
•
WizardManager is being asked to show next page
•
frmFields is called to be shown
•
frmFields displays to the user
•
The user selects needed fields
•
The user selects next form
•
WizardManager is asked to call next form
•
frmCriteria is called to be shown
•
frmCriteria is visible to user
•
The user selects next form button
•
WizardManager is being asked to show next page
•
frmSorting form is called to show the form by
WizardManager
•
frmSorting is visible to user
•
The user presses “Done” button
SRS_REQ_318
Template information is being sent to
solonWebService
SRS_REQ_319
SolonWebservice recreate the template
SRS_REQ_320
SRS_REQ_321
SRS_REQ_322
•
The user set join setting
•
The frmJoin prepare the join part of query
•
The user presses next
•
The Flow is being continued at step 12 in A1
•
The user sets criteria information
•
frmCriteria prepare the query of criteria part
•
The user press Next Button
•
The user set sorting(order by)
•
frmSorting prepare the query
•
The user selects next button
SRS_REQ_323
SolonWebservice returns “Template has been
deleted” message.
SRS_REQ_324
If the query syntax is wrong frmjoin returns
“Query syntax is wrong” Message.
SRS_REQ_325
If the query syntax is wrong frmCriteria returns
“Query syntax is wrong” Message
SRS_REQ_326
If the query syntax is wrong frmSorting returns
Software Requirements Specification for SolonExcel
Requirements
Source
Page 25
Descriptions
Allocated
“Query syntax is wrong” Message
Client
Requirement
Specification
SRS_REQ_400
Generate Report Use Case
SRS_REQ_401
The user press “Generate” button
SRS_REQ_402
Ribbon calls frmViewTemplate showForm
SRS_REQ_403
SRS_REQ_404
SRS_REQ_405
SRS_REQ_406
SRS_REQ_407
SRS_REQ_408
SRS_REQ_409
SRS_REQ_410
•
frmGenerateReport asks SolonWebservice to get
Template List
•
Databasemanager is being asked to return template
list info
•
SolonWebservice returns template List
•
frmGenerateReport shows templates info in a grid
format to the user
•
User selects a template
•
User press “Generate” button
frmGenerateReport calls SolonWebservice to
generate the report
•
SolonWebservice retrieves open xml of the template
•
SolonWebservice prepare data base on query
embedded in the template
•
SolonWebservice merges data and template and
apply the other settings of openxml
•
SolonWebservice saves the excel file
•
SolonWebservice sends links of file to
frmGenerateReport form
frmGenerateReport calls Ribbon to open the
report file in Microsoft Excel
•
SolonWebservice returns “Report is empty” message
•
frmGenerateReport show the message to the user
•
SolonWebservice cuts date less than Microsoft Excel
limitation
•
SolonWebservice merges the cut data and template
and applies the other settings of openxml
•
The flow continues frm step number 12 of basic flow
Software Requirements Specification for SolonExcel
Page 26
4. External Interface Requirements
4.1 User Interfaces
4.2 Hardware Interfaces
Windows-based PC
Requirements
Computer/processor
Intel Pentium III 450-megahertz (MHz) or
faster, equivalent processor
128 MB
Memory
Macintosh Computer
Requirements
Computer/processor
Power PC G3 500-megahertz (MHz) or faster
processor OR
Intel Core Duo 1.83-gigahertz (GHz) or
faster processor
128 MB
Memory (only for Intel
Processor)
4.3 Software Interfaces
No.
1.
Name
Operating
system
Version
Windows XP with SP2
Windows 2003 Server
Windows Vista
Apple Mac OS X 10.4.8
2.
Microsoft
.NET
Microsoft .NET 3.5
Description
Operating system
needed to host the web
pages.
Software Requirements Specification for SolonExcel
Page 27
No.
4.
Name
LZMA
Version
SEVENZIP ver.4.63
Description
LZMA is the default and
general compression
method of 7z format in
the 7Zip program. LZMA prov
ides a high compression
ratio and very fast
decompression, so it is
very suitable for
embedded applications.
Oracle database is a
collection of data treated
as a unit. The purpose of
a database is to store
and retrieve related
information
5.
Oracle
Oracle Database 11g
6.
ODP.NET
ODP.NET Version 5.0
Oracle Data Provider for
.NET is an
implementation of a data
provider for the Oracle
database.
7.
Microsoft
Windows
SDK
Version 6.0A
The Microsoft Windows
SDK is a set of tools,
code samples,
documentation,
compilers, headers, and
libraries that developers
can use to create
applications that run on
Microsoft Windows
operating systems using
native (Win32) or
managed (.NET
Framework)
programming models.
Software Requirements Specification for SolonExcel
No.
8.
Name
Open XML
Format SDK
Version
Version 2.0
Page 28
Description
The Open XML Format
SDK 2.0 is built on top of
the System.IO.Packaging
API and provides
strongly typed part
classes to manipulate
Open XML documents.
The SDK also uses the
.NET Framework
Language-Integrated
Query (LINQ) technology
to provide strongly typed
object access to the XML
content inside the parts
of Open XML documents.
4.4 Communications Interfaces
The server is indirectly connected to the client systems. Also the Administrator has the access
to the database for accessing the account details.
The system stores the login time of each user in the database.
SolonExcel uses webservice technology; therefore require HTTP for transmission of data. More
over this allows easy interaction between the various clients and the server.
Software Requirements Specification for SolonExcel
Page 29
5. Other Nonfunctional Requirements
5.1 Performance Requirements
The accountability is a vital feature and this could only be assured if the system is working in
full capability. So uninterrupted power supply is needed.
5.2 Safety Requirements
The data handled in SolonExcelsystem is very vital. The server should always be confirmed to run
properly and the data are saved to the database at consecutive intervals. Power is a significant
feature and the power supply should be always taken care of. An Uninterrupted Power Supply is
always recommended.
5.3 Security Requirements
All the system users need to login in order to access the system. The login details will be used in
the system also. So the chances of the software getting break in are very low.
5.4 Software Quality Attributes
The source code of the product is going to be secured as this is going to be commercial
software. There will be copyright for the source code and the software.
5.5 Special user requirements
5.5.1 Business rules
Illegal duplication of the reports should be strictly dealt with. The administrator should have
full details of the user while a user is getting registered to the system.
5.5.2 Installation
A helpful environment for the efficient running of SolonExcel is always recommended. The
server should be handled with great care and all unauthorized access should be restricted.
Software Requirements Specification for SolonExcel
Appendix A: Glossary
Term
JAD
SRS
SDD
C#
MS
API
ODP
XML
Description
Join Application Development
Software Requirements Specification
Software Design Document
CSharp
Microsoft
Application programming interface
Oracle Data Provider
Extensible Markup Language
Page 30
Software Requirements Specification for SolonExcel
APPENDIX B: SEQUENCE DIAGRAM
Figure 15 Check Authentication - Basic Flow
Figure 16 Check Authentication - E1: User name or password does not exist
Page 31
Software Requirements Specification for SolonExcel
Figure 17 Create Template - Basic Flow
Page 32
Software Requirements Specification for SolonExcel
Figure 18 Create Template - A1: Setting Join
Figure 19 Create Template - A2:Setting Criteria
Page 33
Software Requirements Specification for SolonExcel
Figure 20 Create Template - A3:Setting Sort
Figure 21 Create Template - E1:Template name already exists
Figure 22 Create Template - E2: Join Query syntax is wrong
Page 34
Software Requirements Specification for SolonExcel
Figure 23 Create Template - E3: Criteria Query syntax is wrong
Figure 24 Create Template - E4:Order by query syntax already exists
Page 35
Software Requirements Specification for SolonExcel
Figure 25 Edit Template - Basic Flow
Figure 26 Edit Template - A1:Edit Button
Page 36
Software Requirements Specification for SolonExcel
Figure 27 Edit Template - A2:SettingJoin
Figure 28 Edit Template - A3:SettingCriteria
Page 37
Software Requirements Specification for SolonExcel
Figure 29 Edit Template - A4:Setting Sort
Figure 30 Edit Template - E1:template has been deleted
Page 38
Software Requirements Specification for SolonExcel
Figure 31 Edit Template - E2: Join Query syntax is wrong
Figure 32 Edit Template - E3: Criteria Query syntax is wrong
Figure 33 Edit Template - E4:Order by Query syntax already exists
Page 39
Software Requirements Specification for SolonExcel
Figure 34 Generate Report - Basic Flow
Figure 35 Generate Report - E1: database is empty
Page 40
Software Requirements Specification for SolonExcel
Page 41
Figure 36 Generate Report - E2: Number of cells ecxeeds more than Microsoft excel
limitation
Appendix D
: SOFTWARE DESIGN DE SCRIPTIONS
(SDD)
SOFTWARE DESIGN
DESCRIPTIONS
(SDD)
CLASSIFIED
SOFTWARE DESIGN DOCUMENT
(SDD)
for
SolonExcel
Prepared for:
Centre for Advanced Software Engineering (CASE)
Universiti Teknologi Malaysia
Jalan Semarak
54100 Kuala Lumpur, Malaysia
Pentasoft Sdn. Bhd.
Suite 3A02, Menara PJ, AMCORP Trade Center, No. 18, Jalan Persiaran Barat, 46050
Petaling Jaya, Selangor Darul Ehsan, Malaysia
Prepared by:
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Behdad Baniani
Authenticated by
__________________
Approved by
__________________
Date
___________________
Date
__________________
DOCUMENT IDENTIFICATION
i
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
Cover
CLASSIFIED
DOCUMENT APPROVAL
NAME
DATE
Verified by:
Mr. Swaminathan
Krishnamurthy
Project Leader and Industrial
Supervisor
Authenticated by:
Prof Madya Dr. Shamsul
bin Sahibuddin
Acadamic Supervisor
Approved by:
Mr. Swaminathan
Krishnamurthy
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Project Manager
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
i
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
REVISION HISTORY
REVISION
Index
DESCRIPTION
A
B
C
D
E
A
B
SYSTEM NAME
SolonExcel
C
D
ITEM NUMBER
-
E
Written by
Verified by
Checked by
Authenticated
by
Approved by
DOCUMENT IDENTIFICATION
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
ii
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
LIST OF EFFECTIVE PAGES
PAGES
REVISION
SYSTEM NAME
SolonExcel
PAGES
ITEM NUMBER
-
REVISION
DOCUMENT IDENTIFICATION
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
iii
CLASSIFIED
TABLE OF CONTENTS
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Paragraph
Page
DOCUMENT APPROVAL ............................................................................................ i
REVISION HISTORY ................................................................................................ ii
LIST OF EFFECTIVE PAGES .................................................................................... iii
TABLE OF CONTENTS ............................................................................................. iv
LIST OF FIGURES .................................................................................................. vii
LIST OF TABLES ..................................................................................................... ix
LIST OF APPENDICES ............................................................................................. x
1 – SCOPE ............................................................................................................... 1
1.1 Identification ............................................................................................... 1
1.2 System Overview......................................................................................... 2
1.3 Document Overview ..................................................................................... 3
2 – REFERENCED DOCUMENTS ................................................................................ 5
2.1 Government Documents ............................................................................... 5
2.2 Non Government Documents......................................................................... 5
3 – PRELIMINARY DESIGN ..................................................................................... 7
3.1 CSCI Overview ............................................................................................ 7
3.1.1 CSCI Architecture .............................................................................. 8
3.1.1.1 Static Organization ................................................................ 10
3.1.1.2 Dynamic Organization............................................................ 13
3.1.1.3 CSC External CSCIs Interfaces ................................................ 14
3.1.2 System States and Modes .................................................................. 14
3.1.3 Memory and Processing Time Allocation ............................................... 17
3.2 CSCI Design Description ..............................................................................18
3.2.1 CSC 01_Template [SDD_REQ_100] ..................................................... 18
3.2.2 CSC 02_Report [SDD_REQ_200] ........................................................ 21
3.2.3 CSC 03_Security [SDD_REQ_300] ...................................................... 23
3.2.4 CSC 04_Add-In [SDD_REQ_400] ........................................................ 25
3.2.5 CSC 05_SolonWebService [SDD_REQ_500].......................................... 27
4 – DETAILED DESIGN .......................................................................................... 29
4.1 01_Template .............................................................................................. 30
4.1.1 MasterFormViews.............................................................................. 31
4.1.1.1 MasterFormViews_FormClosing() ............................................ 31
4.1.1.2 ShowForm(XLTemplateInfo xlinfo) .......................................... 32
4.1.2 Master_Show_Services ...................................................................... 33
4.1.2.1 AddNodeToSelectionTree(view : CView) : bool .......................... 33
4.1.2.2 btnNext_Click() .................................................................... 34
4.1.2.3 CollectSelectedViewNode() ..................................................... 35
4.1.2.4 ConvertStringToArray(Data : String):string[][] ......................... 36
4.1.2.5 ConvertStringToStandardFormat(Data : String) : CView ............ 37
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
iv
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
4.2
4.3
4.1.2.6 LoadWebService() ................................................................. 38
4.1.2.7 ShowForm(xlinfo : XLTemplateInfo) ........................................ 38
4.1.3 frmFields ......................................................................................... 39
4.1.3.1 AddNodeToListBox(tn : TreeNode) .......................................... 39
4.1.3.2 Submit() .............................................................................. 40
4.1.3.3 CreateSelectPartOfQuery() : String ......................................... 41
4.1.3.4 LoadWebService() : String[][] ................................................ 42
4.1.3.5 ShowForm(XLInfo : XMLTemplateInfo) .................................... 42
4.1.4 frmJoin ............................................................................................ 43
4.1.4.1 AddJoinItem(FirstField : String, SecondField : String, Join : String)
44
4.1.4.2 Submit() .............................................................................. 44
4.1.4.3 CreateJoinPart().................................................................... 45
4.1.4.4 ShowForm(xlinfo : XLTemplateInfo) ........................................ 46
4.1.5 frmCriteria ....................................................................................... 47
4.1.5.1 AddConditionItem() ............................................................... 47
4.1.5.2 Submit() .............................................................................. 48
4.1.5.3 CreateWherePart() ................................................................ 49
4.1.5.4 RemoveTheItem() ................................................................. 49
4.1.5.5 ShowForm(xlinfo : XLTemplateInfo) ........................................ 50
4.1.6 frmSorting ....................................................................................... 51
4.1.6.1 AddSortItem() ...................................................................... 51
4.1.6.2 Submit() .............................................................................. 52
4.1.6.3 Finilize_Query() .................................................................... 53
4.1.6.4 pWebService_WSGenerateTemplate_ExcelCompleted() ............. 53
4.1.6.5 RemoveTheItem(index : Integer) ............................................ 54
4.1.6.6 ShowForm(xlinfo : XLTemplateInfo) ........................................ 55
4.1.6.7 ShowMessage(Message : String) ............................................. 56
4.1.7 frmBrowse ....................................................................................... 56
4.1.7.1 SelectTemplate() .................................................................. 57
4.1.7.2 EditTamplate() ..................................................................... 58
4.1.8 WizardManager ................................................................................. 59
4.1.8.1 FinishTheWizard() ................................................................. 59
4.1.8.2 WizardProgressManager(step : Integer, currentstep : Integer) .. 60
4.1.8.3 WizardProgressManagerFoEdit(step : Integer, currentstep :
Integer) 61
4.1.8.4 WizardProgressManagerToBack(step : Integer, currentstep :
Integer) 61
02_Report ................................................................................................. 63
4.2.1 frmGenerateReport ........................................................................... 64
4.2.1.1 GenerateReport() .................................................................. 65
4.2.1.2 GetDocumentNumber() : String .............................................. 65
4.2.1.3 PopulateGridWithNames() ...................................................... 66
4.2.1.4 ShowMessage(Message:String) ............................................... 67
03_Security ............................................................................................... 68
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
v
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
5
6
7
8
–
–
–
–
4.3.1 frmLogin .......................................................................................... 68
4.3.1.1 CheckUserNameAndPassword(UserName : String, Password :
String) : Boolean .............................................................................. 69
4.3.2 SolonSecurity ................................................................................... 70
4.3.2.1 Login(UserName : String, Password : String) : Boolean ............. 70
4.3.2.2 Logout(UserName : String) : Boolean ...................................... 71
4.4 4_Add-In ................................................................................................... 73
4.4.1 Ribbon............................................................................................. 73
4.4.1.1 openData() .......................................................................... 74
4.4.1.2 openExcelFile(link: String) ..................................................... 74
4.4.1.3 openBrowse() ....................................................................... 75
4.4.1.4 openWizards() ...................................................................... 76
4.4.1.5 openGenerate() .................................................................... 77
4.5 05_SolonWebService...................................................................................78
4.5.1 SolonWebservice .............................................................................. 79
4.5.1.1 WSBussinessView_Excel() : String .......................................... 80
4.5.1.2 WSCheckUserNameAndPassword(Username : String, Password :
String):Boolean ................................................................................ 80
4.5.1.3 WSDeleteTemplate(TemplateName : String) : String ................. 81
4.5.1.4 WSGenerateDocument_Excel(documentNumber : String) : String
82
4.5.1.5 WSGetTemplateXL(ExcelDocumentName : String)..................... 83
4.5.1.6 WSLogin(strCon : String) ....................................................... 83
4.5.1.7 WSRetrieveAllServicesWithNames_Excel() : String .................... 84
4.5.1.8 WSRetrieveAllTemplateNames_Excel() : String ......................... 85
4.5.1.9 WSUpdateXMLInfoForBusinesData(Service_ID : String) : String.. 85
4.5.1.10 FilterExceededData() .......................................................... 86
4.5.2 DataBaseManager ............................................................................. 87
4.5.2.1 ExecuteNonQuery (Query : String) .......................................... 87
4.5.2.2 ExecuteQuery(Query : String) : DataTable ............................... 88
4.5.2.3 GetTempalateList() : string[] .................................................. 89
4.5.2.4 GetUserInformation(Username : string, Password : string) :
string[] 90
4.5.2.5 SaveTemplate(info : string[]) ................................................. 90
CSCI DATA ...................................................................................................... 92
CSCI DATA FILES ............................................................................................ 96
REQUIREMENTS TRACEABILITY ...................................................................... 97
NOTES .......................................................................................................... 102
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
vi
CLASSIFIED
LIST OF FIGURES
Figure
Page
Figure 1 Overview of the SolonExcel Proccess ............................................................... 3
Figure 3.1: External Interface Diagram ........................................................................ 8
Figure 3.2: CSCI Functional Architecture for CSCI SlonExcel ........................................... 9
Figure 3.3: Software Design Pattern ........................................................................... 10
Figure 3.4: The CSCI SolonExcel packages .................................................................. 12
Figure 3.5: The staring Components of SolonExcel System ............................................ 13
Figure 3.6: CSC 01_Template package ........................................................................20
Figure 3.7: Relationship of CSC 02_Report with other CSCs ........................................... 22
Figure 3.8: Relationship of CSC 03_Security with other CSCs ......................................... 24
Figure 3.9: Relationship of CSC 04_Add-In with other CSCs ........................................... 26
Figure 3.10: Relationship of CSC 05_SolonWebservice with other CSCs ........................... 28
Figure 4.1: Class Diagram ......................................................................................... 29
Figure 4.2: 01_Template ........................................................................................... 30
Figure 4.3: MasterFormViews class ............................................................................. 31
Figure 4.4: Master_Show_Services ............................................................................. 33
Figure 4.5: frmFields class ......................................................................................... 39
Figure 4.6: frmJoin class ........................................................................................... 43
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.7: frmCriteria class ...................................................................................... 47
Figure 4.8: frmSorting class ....................................................................................... 51
Figure 4.9: frmBrowse class....................................................................................... 57
Figure 4.10: WizardManager class .............................................................................. 59
Figure 4.11: 02_Report ............................................................................................. 63
Figure 4.12: frmGenerateReport class ......................................................................... 64
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
vii
CLASSIFIED
Figure 4.13: 03_Security ........................................................................................... 68
Figure 4.14: frmLogin class ....................................................................................... 68
Figure 4.15: SolonSecurity class................................................................................. 70
Figure 4.16: 4_Add-In .............................................................................................. 73
Figure 4.17: Ribbon class .......................................................................................... 73
Figure 4.18: 05_SolonWebService .............................................................................. 78
Figure 4.19: SolonWebservice .................................................................................... 79
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.20: DataBaseManager class ........................................................................... 87
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
viii
CLASSIFIED
LIST OF TABLES
Table
Page
Table 3.1: Description of CSCs for SolonExcel .............................................................. 12
Table 3.3: SolonExcel States and Modes ...................................................................... 14
Table 3.5: List of CSUs in CSC 01_Template ................................................................ 19
Table 3.6: List of CSUs in CSC 02_Report .................................................................... 21
Table 3.7: List of CSUs in CSC 03_Security .................................................................. 23
Table 3.8: List of CSUs in CSC 04_Add-In .................................................................... 25
Table 3.9: List of CSUs in CSC 05_SolonWeservice ....................................................... 27
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Table 5.1 : Internal Data Elements within the CSCI SolonExcel ...................................... 92
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
ix
CLASSIFIED
LIST OF APPENDICES
Appendix
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
A
B
Page
Sequence Diagram ........................................................................................ A-1
State Transition Diagram ............................................................................... B-1
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
x
CLASSIFIED
1 – SCOPE
This Software Design Document (SDD) belongs to SolonExcel System. The following
sections will describe the scope of SolonExcel. This section is divided into the following
paragraphs.
1.1
Identification
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
This section contains the approval identification number, title, and abbreviation of the
system.
System Abbreviation
:-
System Identification Number
: SolonExcel-2008-06-15-5
System Title
: SolonExcel System
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
1/102
CLASSIFIED
1.2
System Overview
Scope
This software system will is a tool that allows Business Users to create templates for
their excel report without having to use the Oracle report. This software will allow
you to generate templates using Microsoft EXCEL, and use it for all business
documents.
Overview of the system
SolonExcel provides a simple interface to empower end users develop and manage
all Excel reports on their own. When integrated with PentaISF, an insurance
organization saves major IT costs in managing large number of letters and reports.
There would be two types of users.
Business users who create the template
The templates would be created in Microsoft Excel using static content interspersed
with dynamic fields from an XML structure. There are a number of services providing
different groups of data. Using simple wizard forms process mechanism the
templates can be developed.
End users who get report from the system
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
There would be options on the final user interface for the end users to get the
report.These documents in turn would use the templates created and populate them
with actual data in place of the fields and provide the report to the user.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
2/102
CLASSIFIED
Figure 1 Overview of the SolonExcel Proccess
1.3
Document Overview
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
The Software Design Document (SDD) describes the design inside the SolonExcel
System.
Chapter 1
Describes the scope, identification, system overview and document
overview.
Chapter 2
Referenced documents, government documents and non government
documents.
Chapter 3
Describes the preliminary design of the CSCI SolonExcel.
Chapter 4
Describes Detail Design.
Chapter 5
Describes CSCI Data.
Chapter 6
Describes CSCI Data Files.
Chapter 7
Describes Requirements Traceability Matrix.
Chapter 8
Provides the general information that help in understanding this
document.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
3/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
4/102
CLASSIFIED
2 – REFERENCED DOCUMENTS
This chapter list by document number and title all documents referenced in this plan.
2.1
Government Documents
This section list all government documents referenced in this plan.
2.2
[1]
DoD-Std-2167A
Defense System Software Development
[2]
DoD-Std-2168
Defense System Software Quality Program
[3]
MIL-Std-1521B
Technical Reviews and Audits
Non Government Documents
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
This section list all non government documents referenced in this plan.
[4]
SolonExcel SRS
[5]
SoftwareEngineering
Textbook
Software
Requirement
SolonExcel system
Specification
for
The principal source of textbook material is
“Software Engineering: An Object-Oriented
Perspective” by Eric J. Bruade (Wiley 2001).
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
5/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
6/102
CLASSIFIED
3 – PRELIMINARY DESIGN
This chapter describes the preliminary design of the SolonExcel. It describes the CSCI
overview and all the CSCI design description.
3.1
CSCI Overview
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
SolonExcel provides the following functionalities:
•
Provide users system login
•
Provide the ability to create excel template with dynamic data
•
Provide to generate report in excel format based on the latter template
•
Provide to modify and change the template and save it into database
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
7/102
CLASSIFIED
Figure 3.1 shows the interaction between CSCI SolonExcel and its interfaces.
Figure 3.1: External Interface Diagram
3.1.1 CSCI Architecture
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
SlonExcel is divided into six (6) CSCs namely as follows:
i.
CSC 01_Template
ii.
CSC 02_Report
iii.
CSC 03_Security
iv.
CSC 04_Add-In
v.
CSC 05_SolonWebService
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
8/102
CLASSIFIED
For each of these CSCs, it has its own CSUs.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 3.2 shows the functional architecture for the CSCI SolonExcel.
Figure 3.2: CSCI Functional Architecture for CSCI SlonExcel
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
9/102
CLASSIFIED
3.1.1.1 Static Organization
Figure 3.3: Software Design Pattern
3.1.1.1.1 Façade definition:
The facade pattern or façade pattern is a software
engineering design pattern commonly used with
Object-oriented programming.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Provide a unified interface to a set of interfaces in a
subsystem. Façade defines a higher-level interface
that makes the subsystem easier to use.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
10/102
CLASSIFIED
This system is based on façade design pattern, one package interfaces with the external
entities and these façade classes deal with inside of the system. Add-In package is the
façade.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
This sub paragraph describes the internal organization structure of the CSCI.
The SolonExcel is organized into five (5) CSCs as follows:
i.
CSC 01_Template
ii.
CSC 02_Report
iii.
CSC 03_Security
iv.
CSC 04_Add-In
v.
CSC 05_SolonWebService
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
11/102
CLASSIFIED
Figure 3.4 shows the CSCI SolonExcel is organized into five (5) main packages
(definition UML).
Figure 3.4: The CSCI SolonExcel packages
Table 3.1 describes the list of CSCs for the CSCI SolonExcel and a set of its roles. For
each CSC or package have its own roles and classes.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Table 3.1: Description of CSCs for SolonExcel
No.
CSC
Identification
CSC Name
1.
SDD_REQ_100
Template
2.
SDD_REQ_200
Report
3.
SDD_REQ_300
Security
4.
SDD_REQ_400
Add-In
5.
SDD_REQ_500
SolonWebService
CSC Description
This package provides class(s)
related to the templates which are
going to be created and modified.
This package consists of class(s)
that provides the reports being
generated based on the templates.
This package provides class(s)
related to security and
authentication of the system.
This package contains classes for
installing and establishing an add-in
inside the Microsoft Excel
application.
This package provides class(s) in
order to create physical files of
templates and reports and dealing
with database.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
12/102
CLASSIFIED
3.1.1.2 Dynamic Organization
This paragraph describes the dynamic organization of the SolonExcel
application. The following Figure 3.5 depicts the components required to
implement the CSCI SolonExel.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 3.5: The staring Components of SolonExcel System
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
13/102
CLASSIFIED
3.1.1.3
CSC External CSCIs Interfaces
Not Applicable.
3.1.2 System States and Modes
This sub paragraph identifies each SolonExcel state and mode in which the CSCI
operates and the CSCs execute in each state and mode which described in the Table
3.3. The sequence diagram SolonExcel as shown in Appendix A. The State
Transition Diagram (STD) is visually describes in Appendix B.
Table 3.2: SolonExcel States and Modes
No
Modes
States
1.
Check
Authentication
Verifying
Username and
pasword
This state is activating once the
provide username and password
requsts authentication.
Transporting
user into the
system
This
state
is
activated
authentication is successful.
when
the
Message
Notification
regarding login
Failure
This
state
is
activated
when
authentication is not successful
the
preparing
views for
template
This state is activated when user requests
the views form.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
2.
Create
Template
Description
the
user
and
preparing
fields for the
template
This state is activated when selects the
his/her view and navigates t the next form.
preparing
conditions
This state is activated from fields form to
the next page navigation.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
14/102
CLASSIFIED
No
Modes
States
preparing
for
template
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
3.
Edit Template
Description
join
the
This state is activated at navigation time
from the condition form to the join form.
preparing
sorting
This state is activated by user once he/she
presses next utton in the condition form.
Finalizing
template
information
This state is activated when the
presses done button in the last page.
user
showing
template info
This state is activated when
requests the edit template form.
user
preparing
information of
the template
This state is activated when the user selects
any template from the list.
Retrieving file's
link
and
opening
the
file in Microsoft
Excel
This state is activated by the user once
he/she selects the “select” button.
preparing
views for
template
This state is activated by the user once
he/she selects “Edit” button.
preparing
fields for
template
the
the
preparing
conditions
the
This state is activated by the user once
he/she selects te view and navigates to the
next form.
This state is activated by the user once
he/she navigates to the next form.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
15/102
CLASSIFIED
No
Modes
States
preparing
for
template
4.
Generate
Report
join
the
This state is activated by the user once
he/she selects more than one view for the
templates.
preparing
sorting
This state is activated by the user once
he/she navigates the next page(sorting
page)
Finalizing
template
information
This state is activates once he/she presses
the “Done” button.
Showing
template's
information
This state is activated when
presses “Generate” button.
Retrieving
link
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Description
file
the
user
This state is activated when the user selects
his/her required temlate.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
16/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
3.1.3 Memory and Processing Time Allocation
Not applicable.
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
17/102
CLASSIFIED
3.2
CSCI Design Description
This section will divide into subparagraph to provide the design description of each
CSC of the CSCI SolonExcel. The following paragraph describes the detail of each CSC
and its relationship with other CSCs.
3.2.1 CSC 01_Template [SDD_REQ_100]
Description
This CSC provides the capabilities to create modify and finalize the templates in the
system. The CSC consists of eight (8) CSUs as follows:
1. frmBrowse
2. frmCriteria
3. frmFields
4. frmJoin
5. frmSorting
6. frmViews
7. MasterFormViews
8. WizardManager
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Table 3.1 describes the detail description for the above CSU and Figure 3.1 shows
CSC 01_Template and its relationship with other CSCs.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
18/102
CLASSIFIED
Table 3.3: List of CSUs in CSC 01_Template
CSC
Identification
SDD_REQ_100
CSU Name
Description
frmBrowse
This CSU is for viewing list of all available
templates.
frmCriteria
This CSU is to build condition part during
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
the template creating process.
frmFields
This CSU provides capability of selecting
fields which have a role in the template.
frmJoin
This CSU is in this package to build
joining part during the template creating
process.
frmViews
This CSU is in this package to enable
selecting different views (business data)
to be inside the template.
MasterFormViews
This CSU is an interface to service other
forms. This class formats and provides
the framework of the other forms.
WizardManager
This CSU controls navigations among the
wizard forms.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
19/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Figure 3.6: CSC 01_Template package
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
20/102
CLASSIFIED
3.2.2 CSC 02_Report [SDD_REQ_200]
Description
This CSC provides the capabilities to generate reports based on templates
created before in the system. The CSC consists of one (1) CSUs:
1. frmGenerateReport
Table 3.2 describes the descriptions of the CSUs and Figure 3.2 shows
relationship of CSC 02_Report with other CSCs.
Table 3.4: List of CSUs in CSC 02_Report
CSC
Identification
CSU Name
SDD_REQ_200
frmGenerateReport
Description
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
This CSU is used to generate the report based on the
templates insode the system.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
21/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Figure 3.7: Relationship of CSC 02_Report with other CSCs
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
22/102
CLASSIFIED
3.2.3 CSC 03_Security [SDD_REQ_300]
Description:
This CSC provides the capabilities to manage the accesbility and
authentication of the users in the application. The CSC consists of two (2)
CSUs as follows:
1. frmLogin
2. SolonSecurity
Table 3.3 describes the detail description for the above CSUs and Figure 3.3
shows relationship of CSC 03_Report with other CSCs.
Table 3.5: List of CSUs in CSC 03_Security
CSC
Identification
SDD_REQ_300
CSU Name
frmLogin
Description
This CSU is the data entry form
for login process though this class
user is being verified.
SolonSecurity
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
This CSU manages the logic of authentication and
verification of the user.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
23/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Figure 3.8: Relationship of CSC 03_Security with other CSCs
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
24/102
CLASSIFIED
3.2.4 CSC 04_Add-In [SDD_REQ_400]
Description
This CSC provides the communication between the system and Microsoft
Excel Application, in addition this is an interface for the user inside Microsoft
excelApplication.
The CSC 04_Add-In consists of one (1) CSU:
1. Ribbon
Table 3.4 describes the detail description of CSU Ribbon. Then, Figure 3.4
shows relationship of CSC 04_Add-In with other CSCs.
Table 3.6: List of CSUs in CSC 04_Add-In
CSC
Identification
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
SDD_REQ_400
CSU Name
Ribbon
Description
This CSU manages the transaction
between the user and application
and on the other side the
application and Microsoft Excel
Application.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
25/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Figure 3.9: Relationship of CSC 04_Add-In with other CSCs
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
26/102
CLASSIFIED
3.2.5 CSC 05_SolonWebService [SDD_REQ_500]
Description
This CSC handles all the data communication between th application and the
database and it creates the physical files in the format of excel as templates
and report files. This CSC consists of Two (2) CSU:
1. DataBaseManager
2. SolonWebservice
Table 3.5 describes the detail description of CSUs. Then, Figure 3.5 shows
relationship of CSC 05_SolonWebService with other CSCs.
Table 3.7: List of CSUs in CSC 05_SolonWeservice
CSC
Identification
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
SDD_REQ_500
CSU Name
Description
DataBaseManager
This CSU manages to connects to the
database to query and retrieve the
data or update or insert or delete
records.
SolonWebservice
This CSU hosts DataBAseManager
and creates all the physical files as
the output of the system.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
27/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Figure 3.10: Relationship of CSC 05_SolonWebservice with other CSCs
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
28/102
CLASSIFIED
4 – DETAILED DESIGN
This chapter describes the detailed design of each CSC. It describes all the CSCs in detailed
aspects. This will portray the CSCI SolonExcel in a much clearer view.
Figure 4.1: Class Diagram
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
The following paragraphs will elaborate in detail on all the CSCs of CSCI SolonExcel. It
describes each of the CSUs of a CSC.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
29/102
CLASSIFIED
4.1
01_Template
Figure 4.2: 01_Template
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
DEFINITION
Package Name:
01_Template
Package Responsibility:
Provides the capabilities for creating templates and
modifying them.
Dependency:
05_SolonWebservice.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
30/102
CLASSIFIED
4.1.1 MasterFormViews
Figure 4.3: MasterFormViews class
Class Name:
MasterFormViews
Class
Responsibility
:
this class is build to be inheritance of all other wizard
forms..
Class Type:
Interface
Attributes:
1. MasterParent:
System.Windows.Forms.ControlOrgMessage
2. NextForm:
CodeCounsel.Office.DatabindingToolkit.MasterForm
Views
3. PreviouseForm:
CodeCounsel.Office.DatabindingToolkit.MasterForm
Views
4. XLInfo: PentasoftOOXML.XLTemplateInfo
Operations:
1. MasterFormViews_FormClosing()
2. ShowForm(XLTemplateInfo xlinfo)
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.1.1.1 MasterFormViews_FormClosing()
OPERATIONS:
a) Aim
This operation is used as to prepare the parent form be
closed itself.
b) Precondition
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
31/102
CLASSIFIED
c) Postcondition
Parent form is closed.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
thisForm.isClose=False
thisForm.Parent.Close()
END
4.1.1.2 ShowForm(XLTemplateInfo xlinfo)
OPERATIONS:
a) Aim
This operation is used as to prepare all the forms are being
inherited from to prepare and show user experience.
b) Precondition
None.
c) Postcondition
The form is shown.
d) Input Data
None.
e) Output Data
None.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
BODY
Algorithm
BEGIN
//This body is empty because of being an interface class.
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
32/102
CLASSIFIED
4.1.2 Master_Show_Services
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.4: Master_Show_Services
Class Name:
Master_Show_Services
Class Responsibility:
To show all available Business Data to select.
Class Type:
Boundry
Attributes:
1. views: CViews
Operations:
1. AddNodeToSelectionTree(view : CView) :
bool
2. btnNext_Click()
3. CollectSelectedViewNode()
4. ConvertStringToArray(Data
:
String):string[][]
5. ConvertStringToStandardFormat(Data
:
String) : CView
6. LoadWebService()
7. ShowForm()
4.1.2.1 AddNodeToSelectionTree(view : CView) : bool
OPERATIONS
a) Aim
This operation is used to set all the values in to the tree.
b) Precondition
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
33/102
CLASSIFIED
c) Postcondition
The tree is filled with the data.
d) Input Data
Views:CView
e) Output Data
None
BODY
Algorithm
BEGIN
if (thisRootNode.Nodes.ContainsKey(Line_of_Business))
{
thisLOBNode = thisRootNode.Nodes[Line_of_Business];
thisLOBNode.Expand();
if (thisLOBNode.Nodes.ContainsKey(ServiceType))
{
thisSTypeNode = thisLOBNode.Nodes[ServiceType];
ServiceDataNode =
thisSTypeNode.Nodes.Add(ServiceName, ServiceName);
ServiceDataNode.Tag = view;
}
else
{
thisSTypeNode = thisLOBNode.Nodes.Add(ServiceType,
ServiceType);
ServiceDataNode = thisSTypeNode.Nodes.Add(ServiceName,
ServiceName);
ServiceDataNode.Tag = view;
}
}
END
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.1.2.2 btnNext_Click()
OPERATIONS
a) Aim
This operation is used to navigate to the next form.
b) Precondition
None.
c) Postcondition
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
34/102
CLASSIFIED
Next form should be visible.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
(this.MasterParent as
ViewWizardControler).WizardProgressManager(2,1);
END
4.1.2.3 CollectSelectedViewNode()
OPERATIONS
a) Aim
This operation is used to collect all the views(business data)
selected off the tree.
b) Precondition
None.
c) Postcondition
Views attribute should be filled.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
if (view != null && parentNode.Checked)
{
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
35/102
CLASSIFIED
XLInfo.Views.Add(view);
XLInfo.Query = view.Query;
}
END
4.1.2.4 ConvertStringToArray(Data : String):string[][]
OPERATIONS
a) Aim
This operation is used to convert string with specific splitter
to array of string.
b) Precondition
Data should not be null.
c) Postcondition
An array as a result should be ready.
d) Input Data
None
e) Output Data
Array: String
BODY
Algorithm
BEGIN
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
for (int i = 0; i < _views.Length; i++)
{
temp = Data.Split(Convert.ToChar(252))[i];
_views[i] = new
string[temp.Split(Convert.ToChar(253)).Length];
for (int j = 0; j < _views[i].Length; j++)
{
_views[i][j] =
temp.Split(Convert.ToChar(253))[j];
}
}
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
36/102
CLASSIFIED
4.1.2.5 ConvertStringToStandardFormat(Data : String) : CView
OPERATIONS
a) Aim
This operation is used to convert string with specific splitter
to class type name CView.
b) Precondition
Data should not be null.
c) Postcondition
An object of CView as a result should be ready.
d) Input Data
None
e) Output Data
views: CView
BODY
Algorithm
BEGIN
string[] xmlViews = Data.Split(Convert.ToChar(252));
CVIEWS cview=new CVIEWS()
for (int i = 0; i < xmlViews.Length - 1; i++)
{
view = xl.GetServiceInfo(xmlViews[i]);
views.Add(view);
}
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
37/102
CLASSIFIED
4.1.2.6 LoadWebService()
OPERATIONS
a) Aim
This operation is used to prepare SolonWebService Class
and retrieve list of views from database by this class.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None
e) Output Data
None.
BODY
Algorithm
BEGIN
WSGetServices.PentasoftWebService WSS = new
WSGetServices.PentasoftWebService();
WSS.WSBussinessView_ExcelAsync();
result = WSS.Result;
END
4.1.2.7 ShowForm(xlinfo : XLTemplateInfo)
OPERATIONS
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
f) Aim
This operation is used to prepare all the user controls of the
form to show to the user.
g) Precondition
None.
h) Postcondition
None.
i) Input Data
None
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
38/102
CLASSIFIED
j) Output Data
None.
BODY
Algorithm
BEGIN
btnHelp.Visible = true;
btnAddXML.Visible = true;
END
4.1.3 frmFields
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.5: frmFields class
Class Name:
frmFields
Class
Responsibility:
To manage select needed fields of the report.
Class Type:
Boundary
Attributes:
1. thisXLInfo : XMLTemplateInfo
Operations:
1.
2.
3.
4.
AddNodeToListBox(tn : TreeNode)
Submit()
CreateSelectPartOfQuery() : String
ShowForm(XLInfo : XMLTemplateInfo)
4.1.3.1 AddNodeToListBox(tn : TreeNode)
OPERATIONS:
a) Aim
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
39/102
CLASSIFIED
This operation is used to select a field. From tree view
control and insert it to listbox.
b) Precondition
Tree should have some data to be selected.
c) Postcondition
Selected field should be transferred to the list box.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
if (tn.Parent != null)
{
if ((bool)tn.Tag != true)
{
lb_Views.Items.Add(tn.Parent.Text +
"." + tn.Text);
tn.Tag = true;
tn.ForeColor = Color.Red;
}
}
END
4.1.3.2 Submit()
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
OPERATIONS:
a) Aim
This operation is used prepare all the data and fields user
selected and navigate the system to the next form.
b) Precondition
At least one field should be selected.
c) Postcondition
Next page should be shown.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
40/102
CLASSIFIED
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
XLInfo.QSelectPart = @CreateSelectPartOfQuery();
this.DialogResult = DialogResult.OK;
this.Hide();
WizardProgressManager.NextPage();
END
4.1.3.3 CreateSelectPartOfQuery() : String
OPERATIONS:
a) Aim
This operation is used to create the select part of the sql
query.
b) Precondition
At least one field should be selected.
c) Postcondition
Select part is ready.
d) Input Data
None.
e) Output Data
None.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
BODY
Algorithm
BEGIN
foreach (CField
{
field in SelectedFields)
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
41/102
CLASSIFIED
Query += field.ViewName + "." +
field.FieldName + " AS " + field.Caption + "
,";
}
END
4.1.3.4 LoadWebService() : String[][]
OPERATIONS:
a) Aim
This operation is used to receive data from data base by
preparing the webservice object and calling the respective
method.
b) Precondition
None.
c) Postcondition
Data should be retrieved.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
string result = "";
DataTable dt = new DataTable();
result = WSS.WSBussinessView_Excel();
Data = ConvertStringToArray(result);
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
4.1.3.5 ShowForm(XLInfo : XMLTemplateInfo)
OPERATIONS:
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
42/102
CLASSIFIED
a) Aim
This operation is used to receive data from data base by
preparing the webservice object and calling the respective
method.
b) Precondition
None.
1. Postcondition
Data should be retrieved.
2. Input Data
None.
3. Output Data
None.
BODY
Algorithm
BEGIN
base.ShowForm(xlinfo);
base.XLInfo = xlinfo;
END
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.1.4 frmJoin
Figure 4.6: frmJoin class
Class Name:
frmJoin
Class
Responsibility:
To prepare the join part of the report and template
sql query.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
43/102
CLASSIFIED
Class Type:
Boundary
Attributes:
1. strJoin : String
Operations:
1. AddJoinItem(FirstField : String, SecondField :
String, Join : String)
2. Submit()
3. CreateJoinPart()
4. RemoveTheItem(index : integer)
5. ShowForm(xlinfo : XLTemplateInfo)
4.1.4.1 AddJoinItem(FirstField : String, SecondField : String, Join :
String)
OPERATIONS:
a) Aim
This operation is used to add a join item to the total join
query part.
b) Precondition
At least two view should be selected.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
JoinQuery=JoinQuery + FirstField+Join+SecondJoin;
END
4.1.4.2 Submit()
OPERATIONS:
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
44/102
CLASSIFIED
a) Aim
This operation is used to prepare the information and
navigate to the next form.
b) Precondition
strJoin should be ready and filled up.
c) Postcondition
Next Page should be shown.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
XLInfo.QJoinPart = @join;
this.DialogResult = DialogResult.OK;
this.Hide();
WizardManager.NextForm();
END
4.1.4.3 CreateJoinPart()
OPERATIONS:
a) Aim
This operation the complete part of join.
b) Precondition
At least two views should be selected.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
c) Postcondition
None.
d) Input Data
None.
e) Output Data
None.
BODY
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
45/102
CLASSIFIED
Algorithm
BEGIN
Check if the join is in right syntax.
END
4.1.4.4 ShowForm(xlinfo : XLTemplateInfo)
OPERATIONS:
a) Aim
This operation is used to prepare the user experience and
display it.
b) Precondition
None.
c) Postcondition
The form should be ready and shown.
d) Input Data
xlinfo : XLTemplateInfo
e) Output Data
None.
BODY
Algorithm
BEGIN
base.ShowForm(xlinfo);
base.XLInfo = xlinfo;
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
46/102
CLASSIFIED
4.1.5 frmCriteria
Figure 4.7: frmCriteria class
Class Name:
frmCriteria
Class
Responsibility:
To prepare the criteria part of the report and
template sql query.
Class Type:
Boundary
Attributes:
1.strCondition : String
Operations:
1.
2.
3.
4.
5.
AddConditionItem()
Submit()
CreateWherePart()
RemoveTheItem(index : integer)
ShowForm(xlinfo : XLTemplateInfo)
4.1.5.1 AddConditionItem()
OPERATIONS:
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
a) Aim
This operation is used to add a criteria to the query part.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
47/102
CLASSIFIED
e) Output Data
None.
BODY
Algorithm
BEGIN
uc.ShowForm(XLInfo);
uc.FirstOperand = FirstOP;
uc.SecondOperand = SecondOP;
uc.ANDOR = ANDOR;
END
4.1.5.2 Submit()
OPERATIONS:
f) Aim
This operation is used to prepare the information and
navigate to the next form.
g) Precondition
None.
h) Postcondition
Next page should be shown.
i)Input Data
None.
j) Output Data
None.
BODY
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Algorithm
BEGIN
XLInfo.QWherePart = @where;
this.DialogResult = DialogResult.OK;
this.Hide();
WizardManager.NextPage();
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
48/102
CLASSIFIED
4.1.5.3 CreateWherePart()
OPERATIONS:
a) Aim
This operation is used to prepare the where part of the sql
query.
b) Precondition
None.
c) Postcondition
Where part syntax should be correct
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
XLInfo.Criteria[i-1][0] = ucTemp.FirstOperand;
XLInfo.Criteria[i-1][1] = ucTemp.SecondOperand;
XLInfo.Criteria[i-1][2] = ucTemp.Operator;
XLInfo.Criteria[i - 1][3] = ucTemp.ANDOR;
herequery = wherequery.Substring(0,
wherequery.Length - 4);
wherequery = " WHERE " + wherequery;
END
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.1.5.4 RemoveTheItem()
OPERATIONS:
a) Aim
This operation is used to the item which contains and item
of condition part of the total where part.
b) Precondition
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
49/102
CLASSIFIED
c) Postcondition
The condition should be removed.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
pContainer.Controls.RemoveAt(index);
ucTemp.Dispose();
END
4.1.5.5 ShowForm(xlinfo : XLTemplateInfo)
OPERATIONS:
a) Aim
This operation is used to populate all the controls and show
user experience to the user.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
e) Output Data
None.
BODY
Algorithm
BEGIN
base.ShowForm(xlinfo);
base.XLInfo = xlinfo;
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
50/102
CLASSIFIED
4.1.6 frmSorting
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.8: frmSorting class
Class Name:
frmSorting
Class
Responsibility
:
To Create the sorting part(order by) part of the query and
finalizing the template modification.
Class Type:
Boundry
Attributes:
1. coreQuery : String
Operations:
1.
2.
3.
4.
5.
AddSortItem()
Submit()
CreateOrderBy() : String
Finilize_Query()
pWebService_WSGenerateTemplate_ExcelCompleted(
)
6. RemoveTheItem(index : Integer)
7. ShowForm(xlinfo : XLTemplateInfo)
8. ShowMessage(Message : String)
4.1.6.1 AddSortItem()
OPERATIONS:
a) Aim
This operation is used to add and item to the sorting part.
b) Precondition
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
51/102
CLASSIFIED
None.
c) Postcondition
An sorting part should be created.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
UserControls.ucSortingItem uc = new
CodeCounsel.Office.DatabindingToolkit.UserControls.uc
SortingItem();
pContainer.Controls.Add(uc);
END
4.1.6.2 Submit()
OPERATIONS:
a) Aim
This operation is used submit the template modification plus
the sorting part of the query to data base and create the
template file inside excel file
b) Precondition
Query syntax should be correct and all the fields should be
filled up..
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
c) Postcondition
Template file should be opened inside Microsoft Excel.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
52/102
CLASSIFIED
BEGIN
Finilize_Query();
XLInfo.TemplateName = txtXMLName.Text;
pWebService.WSGenerateTemplate_ExcelAsync(XLInfo);
END
4.1.6.3 Finilize_Query()
OPERATIONS:
a) Aim
This operation is used to Finalize the query to be saved.
b) Precondition
None.
c) Postcondition
The query is ready.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
Algorithm
BEGIN
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
XLInfo.Query = @"Select " + XLInfo.QSelectPart
+ " FROM " + XLInfo.QFromPart + " " +
XLInfo.QWherePart + " AND" +XLInfo.QJoinPart +
" "+XLInfo.QOrderByPart;
END
4.1.6.4 pWebService_WSGenerateTemplate_ExcelCompleted()
OPERATIONS:
a) Aim
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
53/102
CLASSIFIED
This operation is used to open the new created template in
the Microsoft Excel application.
b) Precondition
None.
c) Postcondition
The template file should be opened in Microsoft Excel
application.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
Algorithm
BEGIN
(this.MasterParent as
ViewWizardControler).FinishTheWizard();
Excel.Workbook thisBook =
Globals.ThisAddIn.Application.Workbooks.Open(fileName
);
Globals.ThisAddIn.Application.ActiveWorkbook.CustomXM
LParts.Add(xmldata, Type.Missing);
thisBook.Save();
END
4.1.6.5 RemoveTheItem(index : Integer)
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
OPERATIONS:
a) Aim
This operation is used to Remove an item of sorting from
the sorting collection.
b) Precondition
None.
c) Postcondition
The item should be removed.
d) Input Data
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
54/102
CLASSIFIED
e) Output Data
None.
BODY
Algorithm
Algorithm
BEGIN
tempPoint = new
Point(ucTemp.Location.X,ucTemp.Location.Y);
pContainer.Controls.RemoveAt(index);
ucTemp.Dispose();
END
4.1.6.6 ShowForm(xlinfo : XLTemplateInfo)
OPERATIONS:
a) Aim
This operation is used to prepare the form to be shown to
the user with populated user controls.
b) Precondition
None.
c) Postcondition
frmSorting should be shown.
d) Input Data
Xlinfo: XLTemplateInfo.
e) Output Data
None.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
BODY
Algorithm
Algorithm
BEGIN
base.ShowForm(xlinfo);
base.XLInfo = xlinfo;
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
55/102
CLASSIFIED
Populate_Sortings=True;
END
4.1.6.7 ShowMessage(Message : String)
OPERATIONS:
f) Aim
This operation is used to show messages to the user..
g) Precondition
None.
h) Postcondition
None.
i)Input Data
Message: String.
j) Output Data
None.
BODY
Algorithm
Algorithm
BEGIN
MessageBox.Show(Message);
END
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.1.7 frmBrowse
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
56/102
CLASSIFIED
Figure 4.9: frmBrowse class
Class Name:
frmBrowse
Class Responsibility:
To Brows the templates and select to view or
edit.
Class Type:
Boundry
Attributes:
1. TemplateName : String
2. URL_location : String
Operations:
1.
2.
3.
4.
5.
SelectTemplate()
EditTamplate()
dgView_CellClick()
LoadTemplates() : String
ShowTemplates()
4.1.7.1 SelectTemplate()
OPERATIONS:
a) Aim
This operation is used to view the template in Microsoft
Excel Application.
b) Precondition
A template should be selected in the grid.
c) Postcondition
Template should
Application.
be
opened
in
the
Microsoft
Excel
d) Input Data
None.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
e) Output Data
Double
BODY
Algorithm
BEGIN
string pathmsg =
@_templatePaths.Path_BusinessTemplate;
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
57/102
CLASSIFIED
URL_location = pathmsg + @"\" + txtXMLName.Text +
".xlsx";
Ribbon.Open(URL_Location);
END
4.1.7.2 EditTamplate()
OPERATIONS:
f) Aim
This operation is used to edit template modifications.
g) Precondition
A template should be selected in the grid.
h) Postcondition
None.
i)Input Data
None.
j) Output Data
Double
BODY
Algorithm
BEGIN
tring pathmsg =
@_templatePaths.Path_BusinessTemplate;
URL_location_Edit = pathmsg + @"\" + txtXMLName.Text
+ ".xlsx";
TemplateName = txtXMLName.Text;
WizardMAnager.ShowEdit(URL_Location_Edit);
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
58/102
CLASSIFIED
4.1.8 WizardManager
Figure 4.10: WizardManager class
Class Name:
WizardManager
Class Responsibility:
To navigate between wizard forms for template
creating and transferring data between them.
Class Type:
Control
Attributes:
1. wizardForms : MasterFormViews[]
Operations:
1. FinishTheWizard()
2. WizardProgressManager(step : Integer,
currentstep : Integer)
3. WizardProgressManagerFoEdit(step
:
Integer, currentstep : Integer)
4. WizardProgressManagerToBack(step
:
Integer, currentstep : Integer)
4.1.8.1 FinishTheWizard()
OPERATIONS:
a) Aim
This operation is used to terminate the process of template
creation and close all the forms.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
b) Precondition
None.
c) Postcondition
All the forms should be closed.
d) Input Data
None.
e) Output Data
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
59/102
CLASSIFIED
BODY
Algorithm
BEGIN
foreach (Form f in wizardForms)
{
if (f != null)
{
f.Dispose();
}
}
END
4.1.8.2 WizardProgressManager(step : Integer, currentstep :
Integer)
OPERATIONS:
a) Aim
This operation is used to go to the next from fromm current
form.
b) Precondition
None.
c) Postcondition
Current form should be hided and next page should be
shown.
d) Input Data
step : Integer
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
currentstep : Integer
e) Output Data
Double.
BODY
Algorithm
BEGIN
wizardForms[step - 1].MasterParent = this;
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
60/102
CLASSIFIED
wizardForms[step - 1].BringToFront();
wizardForms[CurrentStep-1].SendToBack();
wizardForms[step - 1].ShowDialog();
END
4.1.8.3 WizardProgressManagerFoEdit(step : Integer, currentstep :
Integer)
OPERATIONS:
a) Aim
This operation is used to show the wizard forms in edit
mode for template modifications.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
step : Integer
currentstep : Integer
e) Output Data
None.
BODY
Algorithm
BEGIN
wizardForms[step-1].ShowForm(wizardForms[CurrentStep
- 1].XLInfo);
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
wizardForms[step - 1].Tag = "Show";
dr = wizardForms[step - 1].ShowDialog();
END
4.1.8.4 WizardProgressManagerToBack(step : Integer, currentstep :
Integer)
OPERATIONS:
a) Aim
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
61/102
CLASSIFIED
This operation is used to navigate backward through the
wizard template creating forms.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
step : Integer
currentstep : Integer
e) Output Data
None.
BODY
Algorithm
BEGIN
wizardForms[CurrentStep - 1].Visible = false;
wizardForms[step - 1].BringToFront();
wizardForms[step - 1].ShowDialog();
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
62/102
CLASSIFIED
4.2
02_Report
Figure 4.11: 02_Report
DEFINITION
Package Name:
Package Responsibility:
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Dependency:
02_Report
Provides the capabilities to Generate report out of the
templates.
05_SolonWebservice
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
63/102
CLASSIFIED
4.2.1 frmGenerateReport
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.12: frmGenerateReport class
Class
Name:
frmGenerateReport
Class
Responsibil
ity:
To manage the cruising speed.
Class Type:
Boundry
Attributes:
1. WSS2
:
CodeCounsel.Office.DatabindingToolkit.WSGetServices.P
entasoftWebService
2. Dgr: DataGrid
Operation:
1.
2.
3.
4.
GenerateReport()
GetDocumentNumber() : String
PopulateGridWithNames()
ShowMessage(Message : String)
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
64/102
CLASSIFIED
4.2.1.1 GenerateReport()
OPERATIONS:
a) Aim
This operation is used to generate report.
b) Precondition
A template should be selected by the user.
c) Postcondition
A report should be generated based on the selected
template.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
WSS2 = new WSGetServices.PentasoftWebService();
WSS2.WSGenerateDocument(TemplateName,DocNumber);
END
4.2.1.2 GetDocumentNumber() : String
OPERATIONS:
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
a) Aim
This operation is used to retrieve document number of the
template used to generate a report based on.
b) Precondition
A template should be selected by the user.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
65/102
CLASSIFIED
DocumentNumber: String.
BODY
Algorithm
BEGIN
if (dgr.Cells[2].Value.ToString() == "True")
{
DocumentNumber = dgr.Cells[1].Value.ToString();
Return DocumentNumber;
}
END
4.2.1.3 PopulateGridWithNames()
OPERATIONS:
a) Aim
This operation is used to fill up the grid with all the available
templates.
b) Precondition
Dgr(DataGrid) should be visible.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
None.
BODY
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Algorithm
BEGIN
WSS.WSRetrieveTemplateNames(TableData);
for (int i = 0; i < TableData.Columns.Count; i++)
{
string Column_Name = TableData.Columns[i];
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
66/102
CLASSIFIED
dgFullView.Columns.Add(Column_Name,
QuoteDataFieldName(Column_Name));
dgFullView.Columns[0].AutoSizeMode =
DataGridViewAutoSizeColumnMode.DisplayedCells;
dgFullView.Columns[i].ReadOnly = true;
}
END
4.2.1.4 ShowMessage(Message:String)
OPERATIONS:
f) Aim
This operation is used to system messages to the user.
g) Precondition
None.
h) Postcondition
None.
i)Input Data
Message:String
j) Output Data
None.
BODY
Algorithm
BEGIN
MessageBox.Show(Message);
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
67/102
CLASSIFIED
4.3
03_Security
Figure 4.13: 03_Security
DEFINITION
Package Name:
03_Security
Package Responsibility:
Provides the security and authentication of the system.
Dependency:
01_SolonExcel
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.3.1 frmLogin
Figure 4.14: frmLogin class
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
68/102
CLASSIFIED
Class Name:
frmLogin
Class Responsibility:
To receive user data for authenticating.
Class Type:
Boundry
Attributes:
None.
Operations:
1. CheckUserNameAndPassword(USerName:
String,Password: String)
4.3.1.1 CheckUserNameAndPassword(UserName : String, Password :
String) : Boolean
OPERATIONS:
a) Aim
This operation is used to send the user info to solon security
for verifying.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
UserName : String
Password : String
e) Output Data
Result: Boolean
BODY
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Algorithm
BEGIN
SolonSecurity login = new SolonSecurity();
if(login.Login(txtUsername.Text, txtPassword.Text)
{
Return True;
}
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
69/102
CLASSIFIED
Else
{
Return False;
}
END
4.3.2 SolonSecurity
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.15: SolonSecurity class
Class Name:
SolonSecurity
Class Responsibility:
To handle security and authentication process..
Class Type:
Control
Attributes:
UserName : String[]
Operations:
1. Login(UserName : String, Password :
String) : Boolean
2. Logout(UserName : String) : Boolean
4.3.2.1 Login(UserName : String, Password : String) : Boolean
OPERATIONS:
a) Aim
This operation is used to verify the user.
b) Precondition
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
70/102
CLASSIFIED
c) Postcondition
None.
d) Input Data
UserName : String
Password : String
e) Output Data
Result: Boolean
BODY
Algorithm
BEGIN
using (PentasoftWebService webserv = new
PentasoftWebService())
{
result =
webserv.WSCheckUserNameAndPassword(UserName,
Password);
if(result==’Y’)
return True;
else
return False;
}
END
4.3.2.2 Logout(UserName : String) : Boolean
OPERATIONS:
a) Aim
This operation is used to Log the user out of the system.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
b) Precondition
None.
c) Postcondition
None.
d) Input Data
UserName : String
e) Output Data
Result: Boolean
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
71/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
BODY
Algorithm
BEGIN
For(int i=0;i<UserName.Lenghth;i++
{
If(username[i]==”UserName”)
{
Username[i]=””;
Return True;
}
}
Return False;
END
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
72/102
CLASSIFIED
4.4
4_Add-In
Figure 4.16: 4_Add-In
DEFINITION
Package Name:
4_Add-In
Package Responsibility:
Provides the capabilities to be interface for user and
Microsoft Excel Application.
Dependency:
01_Template and 02_Report and 03_Security
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.4.1 Ribbon
Figure 4.17: Ribbon class
Class Name:
Ribbon
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
73/102
CLASSIFIED
Class
Responsibility:
To interact with Microsoft Excel and other forms
Class Type:
Boundry
Attributes:
None.
Operations:
1.
2.
3.
4.
5.
openData()
openExcelFile(link: String)
openBrowse()
openWizards()
openGenerate()
4.4.1.1 openData()
OPERATIONS
a) Aim
This operation is used to start the template creation
process.
b) Precondition
None.
c) Postcondition
None
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
BEGIN
vw = new WizardManaget();
vw.WizardProgressManager(1,0);
END
4.4.1.2 openExcelFile(link: String)
OPERATIONS
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
74/102
CLASSIFIED
a) Aim
This operation is used to open a excel file.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
Link: String
e) Output Data
None.
BODY
Algorithm
BEGIN
FileStream fs = File.OpenRead(link);
fs.Flush();
fs.Close();
Excel.Workbook workbook =
Globals.ThisAddIn.Application.Workbooks.Open(path);
END
4.4.1.3 openBrowse()
OPERATIONS
a) Aim
This operation is used to open frmBrowse.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
None.
BODY
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
75/102
CLASSIFIED
Algorithm
BEGIN
frmBrowse myTemplates = new frmBrowse();
myTemplates.ShowDialog();
if (myTemplates.URL_location != null)
{
openExcelFile(myTemplates.URL_location);
}
END
4.4.1.4 openWizards()
OPERATIONS
a) Aim
This operation is used to start Wizard forms.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
None.
BODY
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Algorithm
BEGIN
WizardManager WManager=new WizardManager();
WManager. WizardProgressManager(1,0);
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
76/102
CLASSIFIED
4.4.1.5 openGenerate()
OPERATIONS
a) Aim
This operation is used to start generating report process.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
None.
BODY
Algorithm
BEGIN
frmGenerateReport frmGenerate = new
frmGenerateReport();
frmGenerate.Show();
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
77/102
CLASSIFIED
4.5
05_SolonWebService
Figure 4.18: 05_SolonWebService
DEFINITION
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Package Name:
05_SolonWebService
Package Responsibility:
Provides the capabilities to manage the database and
creating physical files of the excel as a template or
report.
Dependency:
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
78/102
CLASSIFIED
4.5.1 SolonWebservice
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Figure 4.19: SolonWebservice
Class Name:
SolonWebservice
Class
Responsibility:
To manage all the data and processes such as
creating template or editing templates and
generating reports and transaction with the datbase.
Class Type:
Control
Attributes:
1. Url : String
Operations:
1. WSBussinessView_Excel() : String
2. WSCheckUserNameAndPassword(Username
:
String, Password : String): Boolean
3. WSDeleteTemplate(TemplateName : String) :
String
4. WSGenerateDocument_Excel(documentNumber
: String) : String
5. WSGetTemplateXL(ExcelDocumentName
:
String)
6. WSLogin(strCon : String)
7. WSRetrieveAllServicesWithNames_Excel()
:
String
8. WSRetrieveAllTemplateNames_Excel() : String
9. WSUpdateXMLInfoForBusinesData(Service_ID :
String) : String
10. FilterExceededData()
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
79/102
CLASSIFIED
4.5.1.1 WSBussinessView_Excel() : String
OPERATIONS:
a) Aim
This operation is used to set prepare all the data of views.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
Result: String.
BODY
Algorithm
BEGIN
DataTable dt = new DataTable();
String Query=//Query to retrieve Views//;
Dt=DBManager.ExecuteQuery(Query);
String Result=dt.ToString();
Return Result;
END
4.5.1.2 WSCheckUserNameAndPassword(Username : String,
Password : String):Boolean
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
OPERATIONS:
a) Aim
This operation is used to check the authentication of the
user of solon application.
b) Precondition
None.
c) Postcondition
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
80/102
CLASSIFIED
d) Input Data
Username : String
Password : String
e) Output Data
Result: Boolean
BODY
Algorithm
BEGIN
String Query=//Query to retrieve the user info//;
DataTable dt=new DataTable();
Dt=DBManager.ExecuteQuery(Query);
if (dt.Rows.Count > 0)
{
Retrun True;
}
Else
{
Return False;
}
END
4.5.1.3 WSDeleteTemplate(TemplateName : String) : String
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
OPERATIONS:
a) Aim
This operation is used to delete the template from the
system.
b) Precondition
None.
c) Postcondition
The selected template does not exist in the system.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
81/102
CLASSIFIED
d) Input Data
TemplateName: String.
e) Output Data
Result: String
BODY
Algorithm
BEGIN
if (System.IO.File.Exists(docTemplate))
{
System.IO.File.Delete(docTemplate);
}
END
4.5.1.4 WSGenerateDocument_Excel(documentNumber : String) :
String
OPERATIONS:
a) Aim
This operation is used to generate the document of
excel(the report).
b) Precondition
None.
c) Postcondition
Physical file of the report should be created.
d) Input Data
DocumentNumber: String.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
e) Output Data
Link: String
BODY
Algorithm
BEGIN
NOT AVAILBLE.
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
82/102
CLASSIFIED
4.5.1.5 WSGetTemplateXL(ExcelDocumentName : String)
OPERATIONS:
a) Aim
This operation is used to return the content of a template in
xml format.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
ExcelDocumentNumber: String.
e) Output Data
xml: String
BODY
Algorithm
BEGIN
xml = @xlInfo.ConvertToXml();
xml = @SevenZipCompressString(xml);
return xml;
END
4.5.1.6 WSLogin(strCon : String)
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
OPERATIONS:
a) Aim
This operation is used to Open the connection of database.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
83/102
CLASSIFIED
strCon: String.
e) Output Data
None.
BODY
Algorithm
BEGIN
Not Availabe.
END
4.5.1.7 WSRetrieveAllServicesWithNames_Excel() : String
OPERATIONS:
a) Aim
This operation is used to retrieve all the views(services) to
the system.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
Result: String.
BODY
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Algorithm
BEGIN
String Query=//Query for getting all the views//;
DataTable dt=new DataTable();
Dt=DBManager.ExecuteQuery(Query);
String Result=dt.ToString();
Return Result;
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
84/102
CLASSIFIED
4.5.1.8 WSRetrieveAllTemplateNames_Excel() : String
OPERATIONS:
a) Aim
This operation is used to retrieve all the templates to the
system.
b) Precondition
None.
c) Postcondition
None.
d) Input Data
None.
e) Output Data
Result: String.
BODY
Algorithm
BEGIN
String Query=//Query for getting all the templates//;
DataTable dt=new DataTable();
Dt=DBManager.ExecuteQuery(Query);
String Result=dt.ToString();
Return Result;
END
4.5.1.9 WSUpdateXMLInfoForBusinesData(Service_ID : String) :
String
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
OPERATIONS:
a) Aim
This operation is used to update the content of a template
and save it to database.
b) Precondition
None.
c) Postcondition
None.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
85/102
CLASSIFIED
d) Input Data
Service_ID.
e) Output Data
Result: String.
BODY
Algorithm
BEGIN
String Query=//Query for updating the template based
on Service_ID //;
String Result =DBManager.ExecuteNonQuery(Query);
Return Result;
END
4.5.1.10
FilterExceededData()
OPERATIONS:
f) Aim
This operation is used to decrease the number of the rows
in the excel file to meet the Microsoft Excel Requirements
regarding data portion limitation.
g) Precondition
None.
h) Postcondition
None.
i)Input Data
None.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
j) Output Data
None.
BODY
Algorithm
BEGIN
Not applicable.
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
86/102
CLASSIFIED
4.5.2 DataBaseManager
Figure 4.20: DataBaseManager class
Class Name:
DataBaseManager
Class
Responsibility:
To Connect to database and conclude all the
transactions between the system and DataBase
Class Type:
Entity
Attributes:
1. strConnection : String
2. OraComd : OracleCommand
3. OraConn : OracleConnection
Operations:
1.
2.
3.
4.
ExecuteNonQuery(Query : String)
ExecuteQuery(Query : String) : DataTable
GetTempalateList() : string[]
GetUserInformation(Username:string, Password
: string) : string[]
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
4.5.2.1 ExecuteNonQuery (Query : String)
OPERATIONS
a) Aim
This operation is used to execute the queries do not have
any result as return.
b) Precondition
Query should be none null.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
87/102
CLASSIFIED
c) Postcondition
None.
d) Input Data
Query: String.
e) Output Data
None.
BODY
Algorithm
BEGIN
OraConn.Open();
OracleCommand OraComd = OraConn.CreateCommand();
OraComd.CommandText = myQuery;
result = OraComd.ExecuteNonQuery();
OraConn.Close();
END
4.5.2.2 ExecuteQuery(Query : String) : DataTable
OPERATIONS
a) Aim
This operation is used to execute queries have data result
as return result.
b) Precondition
The query should be none null.
c) Postcondition
None
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
d) Input Data
Query: String.
e) Output Data
Dt: DataTable.
BODY
Algorithm
BEGIN
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
88/102
CLASSIFIED
OraConn.Open();
OracleCommand OraComd =
OraConn.CreateCommand();
OraComd.CommandText = Query;
OracleDataAdapter od = new
OracleDataAdapter(OraComd);
od.Fill(dt);
OraConn.Close();
return dt;
END
4.5.2.3 GetTempalateList() : string[]
OPERATIONS
f) Aim
This operation is used to return list of templates save in the
system.
g) Precondition
The query should be none null.
h) Postcondition
None
i) Input Data
Query: String.
j) Output Data
List:string[].
BODY
Algorithm
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
BEGIN
String Query=/* retrive template list */
DataList= ExecuteQuery(Query);
String[] List=DataList.ToArray();
END
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
89/102
CLASSIFIED
4.5.2.4 GetUserInformation(Username : string, Password : string) :
string[]
OPERATIONS
k) Aim
This operation is used to return list of users in the system.
l) Precondition
None
m) Postcondition
None
n) Input Data
Username : string, Password : string
o) Output Data
List:string[].
BODY
Algorithm
BEGIN
String Query=/* retrive user list */
DataList= ExecuteQuery(Query);
String[] List=DataList.ToArray();
END
4.5.2.5 SaveTemplate(info : string[])
OPERATIONS
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
p) Aim
This operation is used to save a template into the system.
q) Precondition
Info should not be null
r) Postcondition
None
s) Input Data
Info:string[]
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
90/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
t) Output Data
None
BODY
Algorithm
BEGIN
String Query=/* update database with new record
of the template */
ExecuteNonQuery();
END
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
91/102
CLASSIFIED
5 – CSCI DATA
This section describes the global data elements within the CSCI SolonExcel. For ease in
readability and maintenance, the information required below is provided in tables.
5.1
Internal Data Elements to the CSCI SolonExcel
Table 5.1 describes internal data elements within the CSCI SolonExcel.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Table 5.1 : Internal Data Elements within the CSCI SolonExcel
N
o.
Data
Data Type
CSU
Identifier
1.
Template
Name
String
2.
URL_locat
ion
String
3.
MasterPar
ent
System.Windows.Forms.Control
4.
NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
5.
Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
6.
XLInfo
PentasoftOOXML.XLTemplateInfo
7.
strConditi
on
String
8.
MasterPar
ent
System.Windows.Forms.Control
9.
NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
10. Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
11. XLInfo
PentasoftOOXML.XLTemplateInfo
12. thisXLInfo
XMLTemplateInfo
frmBrowse
frmCriteria
frmFields
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
92/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
13. MasterPar
ent
System.Windows.Forms.Control
14. NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
15. Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
16. XLInfo
PentasoftOOXML.XLTemplateInfo
17. strJoin
String
18. MasterPar
ent
System.Windows.Forms.Control
19. NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
20. Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
21. XLInfo
PentasoftOOXML.XLTemplateInfo
22. coreQuery
String
23. MasterPar
ent
System.Windows.Forms.Control
24. NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
25. Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
26. XLInfo
PentasoftOOXML.XLTemplateInfo
27. views
PentasoftOOXML.CViews
28. MasterPar
ent
System.Windows.Forms.Control
29. NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
30. Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
31. XLInfo
PentasoftOOXML.XLTemplateInfo
frmJoin
frmSorting
frmViews
MasterFormV
iews
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
93/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
32. wizardFor
ms
MasterFormViews[]
WizardMana
ger
33. MasterPar
ent
System.Windows.Forms.Control
34. NextForm
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
35. Previouse
Form
CodeCounsel.Office.DatabindingToolkit.MasterFormV
iews
36. XLInfo
PentasoftOOXML.XLTemplateInfo
37. WSS2
CodeCounsel.Office.DatabindingToolkit.WSGetServic
es.PentasoftWebService
38. dgr
DataGrid
39. UserName
String[]
40. strConnec
tion
String
41. OraComd
OracleCommand
42. OraConn
OracleConnection
43. Url
String
frmGenerate
Report
SolonSecurit
y
DataBaseMa
nager
SolonWebser
vice
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
94/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
5.2
Data Elements of the CSCI’s External Interfaces
Not Applicable.
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
95/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
6 – CSCI DATA FILES
Not Applicable.
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
96/102
CLASSIFIED
7 – REQUIREMENTS TRACEABILITY
This section provides traceability of the requirement allocated down to the CSU level of each
CSC back to the requirements of the SRS.
Requirements
Source
SCS
Allocated
SRS_REQ_100
1.
Check
Authentication
Use Case
Client
Requirement
Specification
SRS_REQ_101
Client
Requirement
Specification
SRS_REQ_102
Client
Requirement
Specification
SRS_REQ_103
4.
Client
Requirement
Specification
SRS_REQ_104
05_SolonWebService
SolonWebservice
5.
Client
Requirement
Specification
SRS_REQ_105
03_Security
SolonSecurity
6.
Client
Requirement
Specification
SRS_REQ_106
03_Security
SolonSecurity
2.
3.
frmLogin
03_Security
SolonSecurity
05_SolonWebService
SolonWebservice
DataBaseManager
05_SolonWebService
7.
Client
Requirement
Specification
SolonWebservice
DataBaseManager
SRS_REQ_200
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CSU
SRS_REQ_201
Create template
Use Case
04_Add-In
Ribbon
01_Template
WizardManager
frmViews
8.
9.
Client
Requirement
Specification
SRS_REQ_202
Client
Requirement
Specification
SRS_REQ_203
01_Template
WizardManager
frmFields
01_Template
WizardManager
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
97/102
CLASSIFIED
Requirements
Source
SCS
Allocated
CSU
frmCriteria
10.
Client
Requirement
Specification
SRS_REQ_204
01_Template
WizardManager
11.
Client
Requirement
Specification
SRS_REQ_205
01_Template
frmSorting
05_SolonWebService
SolonWebservice
Client
Requirement
Specification
SRS_REQ_206
05_SolonWebService
SolonWebservice
12.
DataBaseManager
SRS_REQ_300
13.
14.
Client
Requirement
Specification
SRS_REQ_301
Client
Requirement
Specification
SRS_REQ_302
Edit Template Use
Case
04_Add-In
Ribbon
01_Template
frmBrowse
01_Template
frmBrowse
05_SolonWebService
SolonWebservice
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
DataBaseManager
15.
Client
Requirement
Specification
SRS_REQ_303
01_Template
frmBrowse
16.
Client
Requirement
Specification
SRS_REQ_304
01_Template
SolonWebservice
05_SolonWebService
SolonWebservice
17.
Client
Requirement
Specification
SRS_REQ_305
05_SolonWebService
SolonWebservice
18.
Client
Requirement
Specification
SRS_REQ_306
01_Template
frmBrowse
04_Add-In
Ribbon
Client
Requirement
Specification
SRS_REQ_307
01_Template
frmBrowse
19.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
98/102
CLASSIFIED
Requirements
SCS
CSU
01_Template
frmBrowse
05_SolonWebService
SolonWebservice
05_SolonWebService
SolonWebservice
01_Template
frmBrowse
01_Template
frmBrowse
Source
Allocated
Client
Requirement
Specification
SRS_REQ_308
Client
Requirement
Specification
SRS_REQ_309
Client
Requirement
Specification
SRS_REQ_310
Client
Requirement
Specification
SRS_REQ_311
Client
Requirement
Specification
SRS_REQ_312
25.
Client
Requirement
Specification
SRS_REQ_313
01_Template
frmViews
26.
Client
Requirement
Specification
SRS_REQ_314
01_Template
frmViews
20.
21.
22.
23.
24.
WizardManager
01_Template
WizardManager
Ribbon
01_Template
WizardManager
frmViews
WizardManager
frmFields
27.
28.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
29.
30.
31.
Client
Requirement
Specification
SRS_REQ_315
Client
Requirement
Specification
SRS_REQ_316
Client
Requirement
Specification
SRS_REQ_317
Client
Requirement
Specification
SRS_REQ_318
Client
Requirement
Specification
SRS_REQ_319
01_Template
WizardManager
frmFields
01_Template
frmCriteria
WizardManager
01_Template
WizardManager
frmSorting
01_Template
frmSorting
05_SolonWebService
SolonWebService
05_SolonWebService
SolonWebService
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
99/102
CLASSIFIED
Requirements
SCS
CSU
SRS_REQ_320
01_Template
frmJoin
Client
Requirement
Specification
SRS_REQ_321
01_Template
frmCriteria
34.
Client
Requirement
Specification
SRS_REQ_322
01_Template
frmSorting
35.
Client
Requirement
Specification
SRS_REQ_323
05_SolonWebService
SolonWebService
01_Template
frmSorting
36.
Client
Requirement
Specification
SRS_REQ_324
01_Template
frmSorting
37.
Client
Requirement
Specification
SRS_REQ_325
01_Template
frmSorting
38.
Client
Requirement
Specification
SRS_REQ_326
01_Template
frmSorting
Source
Allocated
32.
Client
Requirement
Specification
33.
WizardManager
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
SRS_REQ_400
Generate Report
Use Case
39.
Client
Requirement
Specification
SRS_REQ_401
04_Add-In
Ribbon
40.
Client
Requirement
Specification
SRS_REQ_402
02_Report
frmGenerateReport
41.
Client
Requirement
Specification
SRS_REQ_403
02_Report
frmGenerateReport
05_SolonWebService
DataBaseManager
SolonWebservice
42.
Client
Requirement
Specification
SRS_REQ_404
02_Report
05_SolonWebService
frmGenerateReport
DataBaseManager
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
100/102
CLASSIFIED
Requirements
Source
SCS
Allocated
CSU
SolonWebservice
43.
Client
Requirement
Specification
SRS_REQ_405
02_Report
frmGenerateReport
44.
Client
Requirement
Specification
SRS_REQ_406
02_Report
frmGenerateReport
05_SolonWebService
SolonWebservice
Client
Requirement
Specification
SRS_REQ_407
02_Report
rmGenerateReport
05_SolonWebService
SolonWebservice
Client
Requirement
Specification
SRS_REQ_408
02_Report
frmGenerateReport
04_Add-In
Ribbon
Client
Requirement
Specification
SRS_REQ_409
05_SolonWebService
SolonWebservice
02_Report
frmGenerateReport
Client
Requirement
Specification
SRS_REQ_410
05_SolonWebService
SolonWebservice
45.
46.
47.
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
48.
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
101/102
CLASSIFIED
8 – NOTES
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
8.1
Glossary
CASE
-
Centre for Advance Software Engineering
CDRL
-
Contractual Document Requirement List
CSC
-
Computer Software Component
CSCI
-
Computer Software Configuration Item
CSU
-
Computer Software Unit
DoD
-
Department of Defense
MIL
-
Military
PDR
-
Preliminary Design Review
SDD
-
Software Design Document
SRS
-
Software Requirement Specification
STD
-
State Transition Diagram
C#
-
CSharp
API
-
Application programming interface
UI
-
User Interface
OS
-
Operating System
GUI
-
Graphic User Interface
PC
-
Personal Computer
XML
-
Extensible Markup Language
MS
-
Microsoft ®
SQL
-
Structured Query Language
OOXML -
Open Office XML
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
102/102
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
APPENDIX A
INTERACTION DESIGN
Section 1: Sequence Deiagram
Sequence Diagram 1: Check Authentication – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-1
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 2: Check Authentication – E1: User name or password does not exist
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-2
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 3: Create Template – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-3
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 4: Create Template – A1: Setting Join
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-4
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 5: Create Template – A2: Setting Criteria
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-5
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 6: Create Template – A3:Setting Sort
Sequence Diagram 7: Create Template – E1:Template name already exists
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-6
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 8: Create Template – E2: Join Query syntax is wrong
Sequence Diagram 9: Create Template – E3: Criteria Query syntax is wrong
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-7
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 10: Create Template – E4:Order by query syntax already exists
Sequence Diagram 11: Edit Template – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-8
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
S
Sequence Diagram 12: Edit Template – A1:Edit Button
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-9
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 13: Edit Template – A2:SettingJoin
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-10
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 14: Edit Template – A3:SettingCriteria
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-11
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 15: Edit Template – A4:Setting Sort
Sequence Diagram 16: Edit Template – E1:template has been deleted
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-12
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 17: Edit Template – E2: Join Query syntax is wrong
Sequence Diagram 18: Edit Template – E3: Criteria Query syntax is wrong
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-13
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Sequence Diagram 19: Edit Template – E4:Order by Query syntax already exists
Sequence Diagram 20: Generate Report – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-14
CLASSIFIED
Sequence Diagram 21: Generate Report – E1: database is empty
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Sequence Diagram 22: Generate Report – E2: Number of cells exceeds more than Microsoft
excel limitation
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-15
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Section 2: Collaboration Diagram
Collaboration Diagram 1: Check Authentication – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-16
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Collaboration Diagram 2: Check Authentication – E1:User name or password does not exist
Collaboration Diagram 3: Create Template – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-17
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Collaboration Diagram 4: Create Template – A1: Setting Join
Collaboration Diagram 5: Create Template – A2:Setting Criteria
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-18
CLASSIFIED
Collaboration Diagram 6: Create Template – A3: Setting Sort
Collaboration Diagram 7: Create Template – E1:Template name already exists
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Collaboration Diagram 8: Create Template – E2: Join Query syntax is wrong
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-19
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Collaboration Diagram 9: Create Template – E3: Criteria Query syntax is wrong
Collaboration Diagram 10: Create Template – E4:Order by query syntax already exists
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-20
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Collaboration Diagram 11: Edit Template – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-21
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Collaboration Diagram 12: Edit Template – A1:Edit Button
Collaboration Diagram 13: Edit Template – A2:SettingJoin
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-22
CLASSIFIED
Collaboration Diagram 14: Edit Template – A3:SettingCriteria
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Collaboration Diagram 15: Edit Template – A4:Setting Sort
Collaboration Diagram 16: Edit Template – E1:template has been deleted
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-23
CLASSIFIED
Collaboration Diagram 17: Edit Template – E2: Join Query syntax is wrong
Collaboration Diagram 18: Edit Template – E3: Criteria Query syntax is wrong
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Collaboration Diagram 19: Edit Template – E4:Order by Query syntax already exists
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-24
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Collaboration Diagram 20: Generate Report – Basic Flow
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-25
CLASSIFIED
Collaboration Diagram 21: Generate Report – E1: database is empty
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
Collaboration Diagram 21: Generate Report – E2: Number of cells exceeds more than
Microsoft excel limitation
DOCUMENT IDENTIFICATION
SYSTEM NAME
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
A
PAGE
A-26
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
APPENDIX B
ACTIVITY DIAGRAM
Activity Diagram 1: Check Authentication
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
B-1
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Activity Diagram 2: Create Template
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
B-2
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Activity Diagram 3: Edit Template
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
B-3
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
Activity Diagram 4: Generate Report
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
B-4
This document and the information it contains are property of CASE-UTM,
© All Copyrights Reserved, 2008 and confidential. They shall not be
reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of CASE-UTM
CLASSIFIED
SYSTEM NAME
DOCUMENT IDENTIFICATION
SolonExcel
ITEM NUMBER
-
FORMAT
VERSION
NAME
NAME
A4
-
PAGE
B-5
Download