TEMPLATE PAGES These templates are intended for use on a PC, in MS Word (also often works with newer versions of Macintosh Computers). The templates are provided as an aid to students in correctly formatting the preliminary pages (front matter) of their project or thesis. Since the length of titles, department names, student names and the number of chairpersons, chapters, organization of text and inclusion of appendices or other specific sections varies from one field to another, the template is a useful tool, but it does not address all the possibilities and/or variations that may occur. The final appearance of your entire document must comply with the guidelines indicated in the Computer Science Department Style and Policy Manual for Theses and Projects, which contains detailed instructions. The template is, however, a useful basis upon which to construct both preliminary and text pages. Please follow these instructions: a. Save this Word document with an appropriate name. b. Work with “Reveal Formatting” on or the "Show Hidden Formatting" icon in the Windows toolbar turned on so you can see everything on the page, including spaces and blank lines that you may need to add or remove to conform to the style requirements, especially spacing. c. Overwrite the wording/instructions with your specific data. d. Delete any parts, sections, or wording that is not appropriate to your specific document. (For example, some theses may not contain figures, tables, illustrations, etc. so the Lists of Figures, etc. following the Table of Contents can be deleted.) e. Save often, to be sure that any changes/additions remain as part of the final version. Back up your work to avoid unpleasant losses in case of power failure, etc. f. Upon visual inspection, each preliminary page should closely match its corresponding Sample Page. ii A TEMPLATE FOR COMPUTER SCIENCE THESIS AND PROJECTS by TIMOTHY SCOTT MORTON A PROJECT Presented to the Department of Computer Science in partial fulfillment of the requirements for the degree of Master of Science in Mathematics and Computer Science Ashland, Oregon March 2005 ii APPROVAL PAGE “A Template for Computer Science Thesis and Projects,” a project prepared by Timothy S. Morton in partial fulfillment of the requirements for the Master of Science in Mathematics and Computer Science. This project has been approved and accepted by: ___________________________________________ Dr. Name of Chair, Chair of the Examining Committee ________________ Date ___________________________________________ Dr. Name of member, Committee Member ________________ Date ___________________________________________ Dr. Name of member, Committee Member ________________ Date ___________________________________________ Dr. Joseph L. Graf, Dean of Sciences ________________ Date (Sample thesis copyright page – optional) © 2005 Timothy Scott Morton iii ABSTRACT OF PROJECT A WEB-BASED USER INTERFACE USING COMPONENT ORIENTED METHODOLOGY By Timothy Scott Morton This study attempts to answer what a header/detail entry program might look like if Timber Products were to change to web development. Timber Products currently supports Web Applications written in C# and Visual Basic for .NET, Windows applications written in C# and Visual Basic for .NET, Visual Basic 6, and Microsoft Access. This project will describe the features required for master/detail data entry in web forms in a corporate environment and describe the advantages and disadvantages of the Microsoft’s .NET technology. Included is a model program that addresses usage, development, and maintenance issues. iv ACKNOWLEDGMENTS I wish to express sincere appreciation to Professors Anita Smith and Dale Jones for their assistance in the preparation of this manuscript. In addition, special thanks are due to my committee chair, Dr. John Dolan, whose critical eye, and enlightened mentoring were instrumental and inspiring. I wish to acknowledge my gratitude to Janet Kern, whose familiarity with the needs and ideas of the community was helpful during the early programming phase of this undertaking. I also thank the members of the community councils for their valuable input. v TABLE OF CONTENTS Chapter 1. Introduction ......................................................................................................................... 1 2. Review of the Literature ..................................................................................................... 2 3. Methodology and Procedures ............................................................................................. 4 3.1 Database Tables .......................................................................................................... .5 3.2 Order Calculations………………………………………………………………...6 4. Findings ............................................................................................................................... 8 5. Summary ............................................................................................................................. 9 Appendix A ........................................................................................................................................... 10 vi LIST OF FIGURES Figure Page 3.2 The Orders ERD ............................................................................................................ 3 4.2 Login Screen .................................................................................................................. 8 vii LIST OF TABLES Table 1 CHAPTER 1 Introduction Font is Times New Roman 12pt. The chapter heading must be 2” from the top of the page and the other pages within a chapter start two lines below the page number. This is accomplished by changing sections. From the menu, Insert -> break -> section break types->next page. Then you can control the top margin by section. Paragraphs are indented 5 spaces and there is no line break between paragraphs. Nothing can infringe upon the 1.5” left or 1” top, right, or bottom margins. This includes page numbers so the margins within Microsoft Word are set slightly inside the 1” right margin. 2 CHAPTER 2 Review of the Literature Blocks of quotes are handled by single spacing and 1 space between narrative and the quote. Citing is APA format. “Component-oriented programming has established itself as the predominate software development methodology. A successful component technology must provide a development environment and tools that will allow you to rapidly develop components. .NET offers a superb development environment and semantics that are the product of years of observing the way you use COM and the hurdles you face. All .NET programming languages are component-oriented by their very nature, and the primary development environment (Visual Studio .NET) provides views, wizards, and tools that are oriented toward developing components” (Alhir 2003). Make sure that the gap between narrative and the quotes (both top and bottom are consistent. 3 Chapter headings start with a 2” margin at the top of the page. All other text starts at 1 ½”. PK PK I1 openord OrdDtl Ord PK PK PK PO ShipNum OrdDt UserId EstArriveDt ShipComplete FrtCode EstFrt vendid TheirOrd ShipToID TermsCode sent Hauler FrtIvc MatlIvc Po ShipNum item ProdCode size BillAtSize siz1 siz2 thick grade cut color specie char1 char2 char3 RcvDt Units PcsPerUnit Pcs PcsAvail UM net frt Dlvd ExtNet ExtFrt ExtDlvd ExtSq Ext38 FactSq Fact38 DecThick Note cost extcost GrossFactsq GrossExtSq Figure 3.1 The Orders ERD PK PK Trxid seq I2 I2 OrdNum ItemNum Prodcode PO Shipnum EstDate pcs size siz1 siz2 thick decthick grade cut color specie char1 char2 char3 factsq fact38 extsq ext38 ActDate ExtCost Whse I3 I3 I1 4 CHAPTER 3 Methodology and Procedures 5 3.1 Database Tables The basic functional requirements for the project are to maintain data in the ORD and ORDDTL tables. The existing Purchase Order report, Tally Screen, Open Order Screens and reports must continue use without modification. The Purchase Order report will be included in the Web application for ease of use as well as a template for reporting from the Web. The existing application uses Microsoft SQL Server 2000. Therefore, I will use the same database management systems (DBMS) for the project. 6 3.2 Order Calculations If the order terms state that this is a delivered (“DLVD”) order is then the vendor is agreeing to ship the wood to the customer door with freight charges included in the line item price. 7 3.3 Other Requirements In the following code behind fragment, note the ‘<b>’. This represents HTML script within the code behind. Although this is a valid, usable approach to providing a data entry experience to users, it represents a mix of HTML and code that is representative of the “old” way of providing this solution. Item Pieces Product 1 1200 50x99 750 41,250 30,628.13 83.33 30,711.46 2 6000 50x99 1,100 206,250 226,875.00 416.67 227,291.67 500.00 258,003.13 Total Cost Sq Feet Net wood Freight 247,500 Table 3.1 Two item inventory-costing model Landed Cost 8 CHAPTER 4 Findings public bool CanEditPO(string strUser) { tdb.SCmd.CommandText = "procGetUserRole"; tdb.SCmdClearParams(); tdb.SCmdAddParams("@UserName",strUser); DataTable ur=tdb.GetDataTable(); for (int idx = 0; idx < ur.Rows.Count;idx ++) { if (ur.Rows[idx][0].ToString() == "SKINROOT" || ur.Rows[idx][0].ToString() == "PURCHASER") return true; // this user ok } return false; // a valid user, but cannot edit po's } Code fragments need to be in Courier New 10 point font, single-spaced. Again, make sure that the gap between the start of the fragment and after the end of the fragment are the same. Figure 4.2 Login Screen 9 CHAPTER 5 Summary In the final analysis, it is now possible to create header/detail Web applications that can meet the needs of users and IT staff. There are many ways to accomplish this task; I just presented one possible approach. The main obstacles to overcome are the changes to the header section that affect the detail section and making the detail section as user friendly as possible. It turns out that users perceive this Web application as more user friendly than the Windows application. 10 APPENDIX A Glossary Code behind A feature of the .NET framework that allows separation of HTML script and (for the purpose of this paper) the C# code. Component-oriented A term to describe a design or programming style that has two main components (for the purposes of this paper): Language independence and secondly, this term implies using the instantiation of objects more heavily than the use of inheritance. DLVD A freight term. Used to describe shipping terms wherein the producing mill will pay shipping delivered to the buyer’s dock. FOB MILL A freight term. Used to describe at what point (the producing mill) the buyer (TP) is responsible for shipping costs. Header/Detail A term used to describe a very common structure in business computing wherein a transaction has information that relates to the transaction as a whole (header), and then line item information that relates to a particular line item within the transaction (detail) HWDPO The Purchase order application. This represents the application that contains all of the classes and object to perform the task of creating, editing, deleting and printing hardwood veneer purchase orders. HWDVNR The Business class for the HWDPO application. This is stored in HWDPO.cs PO Purchase Order. This can either refer to the printed document or the transaction stored in the ORD and ORDDTL database tables or a part thereof. This also refers to the user interface tier of the HWDVNR application. PO.aspx represents the web page (ASPX script) and PO.aspx.cs holds the Microsoft .NET C# code for the PO.aspx page. OPENORD The open orders table. This table holds information on what orders are currently outstanding. This represents wood that has been ordered but not yet received. 11 ORD The header table in the header/detail tables for a purchase order. This is the “one” in the one-to-many relationship between the ORD and ORDDTL tables. 12 WORKS CITED Alhir, Sinan Si. Learning UML. Sebastopol, CA: O’Reilly & Associates, 2003.