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