SlideShare a Scribd company logo
1 of 12
Download to read offline
.Net Masters Program
                   July 28, 2010

Name           Major Contribution
Dorian White   Designed and coded data-layer. Contributed custom user
               interface controls. Chief motivator and tester.
Greg Palmer    Designed and coded user interface. Created master page and
               presentation look and feel. Orchestrated background music.
               Created team name and about page and positive light-hearted
               motivation.
Robert         Designed and coded entities layer. Provided architectural
Tanenbaum      direction. Wrote the requirements and PowerPoint presentation.
               SVN administrator.
Vivian Ting    Designed and coded data-layer and user-interface code-behind.
               Created and tested security layer. Lead tester and quality
               assurance.

7/26/2010                       Final Project                                   1
Use Case 1: Update existing contract
• User will select from dropdown list:
      –     Contract Type: Tuition or Consulting
      –     Track: .Net, SQL, Business Intelligence, SharePoint
      –     Year: from existing years in sessionConfig.xml
      –     Quarter: 1, 2, 3, 4
• Error message will be displayed if the contract is
  not found and user will be prompted to create a
  new contract.
• User may click the Search button and the
  program will transfer to the Update Existing
  Contract page.
7/26/2010                         Final Project                   2
Use Case 2: Update existing contract
• All variables are provided to the user for
  editing.
• User may edit any of the variable attributes of
  the contract, overriding the default value or
  changing an existing value.
• User may clear a variable to reset it to the
  default value.
• User may click Save, Create new Variable, Print
  Preview or Delete (see next slide).
7/26/2010             Final Project             3
Use Case 2: Edit existing (continued)
• Click Save:
      – Variables which have non-default values are written back to the
        sessionConfig.xml file.
      – Cleared variables will revert to the sessionConfig.xml default values.
• Click Create new variable:
      – Redirect to Create Variable screen to add a new variable.
• Click Print preview:
      – Pop up the PDF Generator to show the finished contract.
• Click Delete:
      – The entire contract is removed from sessionConfig.xml
      – Note: that clicking the Save image after deletion will restore the
        session.
• For all modifications, original sessionConfig.xml file is marked with
  the date and time and saved in an Archive directory on the website.

7/26/2010                            Final Project                               4
Use Case 3: Create a new contract
• User will select from dropdown list:
      –     Contract Type: Tuition or Consulting
      –     Track: .NET, SQL, Business Intelligence, SharePoint
      –     Year: current year and next year
      –     Quarter: 1, 2, 3, 4
• If the contract exists the user is prompted to edit
  it.
• If the contract does not yet exist, it is created in
  the sessionConfig.xml file and the user is
  redirected to the Edit existing contract screen,
  where all the default values are shown.
7/26/2010                         Final Project                   5
3-Layered Architecture
1. The Presentation Layer or User Interface consists of
   an ASP.Net Website which uses entity objects to
   communicate with the Data Access Layer.
2. The Data Access Layer is an .NET Class Library which
   uses LINQ to XML to communicate with the XML Data
   Repository.
3. The XML Data Repository consists of a collection of
   XML files residing in a subdirectory of the Website.
4. The Entity Objects are built in a separate .NET Class
   library referenced by both the Presentation Layer and
   the Data Access Layer.

7/26/2010                Final Project                     6
Project Architecture




                                                   Entity Objects
            Presentation Layer – User Interface




                    Data Access Layer




                                                   LINQ to XML
                     XML Repository



7/26/2010                          Final Project                    7
XML Repository
• All of the XML files from the Generator project were placed
  in a subdirectory of the Website with just 3 changes.
• The gridparagraph variable was missing from the list of
  default values for the consulting contract so we had to add
  it to the sessionConfig.xml file.
• An additional file called Schema1.txt defines each variable
  and its respective type: cost, date, file, number or text.
• An additional file called Tracks.txt defines the various tracks
  (.NET, SQL, SharePoint and BI) and their respective letter
  associated with the naming convention –
  [Year][Letter][Quarter] like 2010Q2.
• The folder contains an Archive folder which saves a copy of
  the existing sessionConfig.xml file before it is modified.

7/26/2010                    Final Project                      8
Data Access Layer – Parser class public
               methods
• The data layer consists of LINQ to XML queries that allows
  in-memory document modifications with the support of
  LINQ Query expressions and strongly-typed collections.
• These collections can be bound to web controls with little
  or no code required in the user interface.
• Provides functions to
      –     Retrieve a list of all existing session names
      –     Retrieve a collection of all the variables of an existing session.
      –     Write back all the changes to the sessionConfig.xml file.
      –     Create a new session or delete an existing session.
      –     Automatically archive the original version of the file with a date
            and time stamp.


7/26/2010                             Final Project                              9
Entity Objects Library
• Provides flexible objects for Session contents.
• Objects contain strongly typed Dictionary
  collections to allow for data-driven architecture.
• The overridden ToString method writes the
  Session contents in XML format.
• Provides other objects for binding to the
  dropdown boxes.
• Provides enum types for the contract type of
  Consulting or Tuition as well as variable types like
  Cost, Date, File, Number and Text.

7/26/2010               Final Project                10
Presentation Layer – ASP.net website
• Presentation layer is an ASP.net website using the following
  technology.
      –     Master page and CSS style sheet for a uniform look and feel.
      –     Role based security requiring login.
      –     Uniform navigation controls.
      –     Custom user controls.
• The edit contract screen and dropdown boxes are entirely
  data-driven. As variables are added to or deleted from the
  templates, the screens will automatically adjust and show
  only those variables which are currently relevant.
• Smoothly integrated with the existing contract Generator
  code.


7/26/2010                            Final Project                         11
Future Enhancements
• Track changes by user.
• Validate the user input based on the type of
  the variable like date and money.
• Use of .xsd file to define the XML format.




7/26/2010             Final Project              12

More Related Content

Similar to R Tanenbaum Sample Technical Spec

R Tanenbaum Sample Technical Specification
R  Tanenbaum Sample Technical SpecificationR  Tanenbaum Sample Technical Specification
R Tanenbaum Sample Technical SpecificationRobert Tanenbaum
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Shyamala Prayaga
 
Doors_Santosh.S Resume
Doors_Santosh.S ResumeDoors_Santosh.S Resume
Doors_Santosh.S ResumeSantosh Kumar
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsMoutasm Tamimi
 
VRE Cancer Imaging BL RIC Workshop 22032011
VRE Cancer Imaging BL RIC Workshop 22032011VRE Cancer Imaging BL RIC Workshop 22032011
VRE Cancer Imaging BL RIC Workshop 22032011djmichael156
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONSUMIT KUMAR
 
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...Jerry SILVER
 
Advantages Of SAMBA
Advantages Of SAMBAAdvantages Of SAMBA
Advantages Of SAMBAAngela Hays
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
An isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra dasAn isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra dasVikash Chandra Das
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with ShareAlfresco Software
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)David Groff
 
Ten Steps To Empowerment
Ten Steps To EmpowermentTen Steps To Empowerment
Ten Steps To EmpowermentMohan Dutt
 

Similar to R Tanenbaum Sample Technical Spec (20)

R Tanenbaum Sample Technical Specification
R  Tanenbaum Sample Technical SpecificationR  Tanenbaum Sample Technical Specification
R Tanenbaum Sample Technical Specification
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
Doors_Santosh.S Resume
Doors_Santosh.S ResumeDoors_Santosh.S Resume
Doors_Santosh.S Resume
 
Asp net
Asp netAsp net
Asp net
 
Mihai_Nuta
Mihai_NutaMihai_Nuta
Mihai_Nuta
 
TechTalk: Connext DDS 5.2.
TechTalk: Connext DDS 5.2.TechTalk: Connext DDS 5.2.
TechTalk: Connext DDS 5.2.
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software Specifications
 
VRE Cancer Imaging BL RIC Workshop 22032011
VRE Cancer Imaging BL RIC Workshop 22032011VRE Cancer Imaging BL RIC Workshop 22032011
VRE Cancer Imaging BL RIC Workshop 22032011
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
 
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
 
Advantages Of SAMBA
Advantages Of SAMBAAdvantages Of SAMBA
Advantages Of SAMBA
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Quickr
QuickrQuickr
Quickr
 
Project portfolio
Project portfolioProject portfolio
Project portfolio
 
An isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra dasAn isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra das
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)
 
Melvin Cureton Resume
Melvin Cureton ResumeMelvin Cureton Resume
Melvin Cureton Resume
 
Ten Steps To Empowerment
Ten Steps To EmpowermentTen Steps To Empowerment
Ten Steps To Empowerment
 

R Tanenbaum Sample Technical Spec

  • 1. .Net Masters Program July 28, 2010 Name Major Contribution Dorian White Designed and coded data-layer. Contributed custom user interface controls. Chief motivator and tester. Greg Palmer Designed and coded user interface. Created master page and presentation look and feel. Orchestrated background music. Created team name and about page and positive light-hearted motivation. Robert Designed and coded entities layer. Provided architectural Tanenbaum direction. Wrote the requirements and PowerPoint presentation. SVN administrator. Vivian Ting Designed and coded data-layer and user-interface code-behind. Created and tested security layer. Lead tester and quality assurance. 7/26/2010 Final Project 1
  • 2. Use Case 1: Update existing contract • User will select from dropdown list: – Contract Type: Tuition or Consulting – Track: .Net, SQL, Business Intelligence, SharePoint – Year: from existing years in sessionConfig.xml – Quarter: 1, 2, 3, 4 • Error message will be displayed if the contract is not found and user will be prompted to create a new contract. • User may click the Search button and the program will transfer to the Update Existing Contract page. 7/26/2010 Final Project 2
  • 3. Use Case 2: Update existing contract • All variables are provided to the user for editing. • User may edit any of the variable attributes of the contract, overriding the default value or changing an existing value. • User may clear a variable to reset it to the default value. • User may click Save, Create new Variable, Print Preview or Delete (see next slide). 7/26/2010 Final Project 3
  • 4. Use Case 2: Edit existing (continued) • Click Save: – Variables which have non-default values are written back to the sessionConfig.xml file. – Cleared variables will revert to the sessionConfig.xml default values. • Click Create new variable: – Redirect to Create Variable screen to add a new variable. • Click Print preview: – Pop up the PDF Generator to show the finished contract. • Click Delete: – The entire contract is removed from sessionConfig.xml – Note: that clicking the Save image after deletion will restore the session. • For all modifications, original sessionConfig.xml file is marked with the date and time and saved in an Archive directory on the website. 7/26/2010 Final Project 4
  • 5. Use Case 3: Create a new contract • User will select from dropdown list: – Contract Type: Tuition or Consulting – Track: .NET, SQL, Business Intelligence, SharePoint – Year: current year and next year – Quarter: 1, 2, 3, 4 • If the contract exists the user is prompted to edit it. • If the contract does not yet exist, it is created in the sessionConfig.xml file and the user is redirected to the Edit existing contract screen, where all the default values are shown. 7/26/2010 Final Project 5
  • 6. 3-Layered Architecture 1. The Presentation Layer or User Interface consists of an ASP.Net Website which uses entity objects to communicate with the Data Access Layer. 2. The Data Access Layer is an .NET Class Library which uses LINQ to XML to communicate with the XML Data Repository. 3. The XML Data Repository consists of a collection of XML files residing in a subdirectory of the Website. 4. The Entity Objects are built in a separate .NET Class library referenced by both the Presentation Layer and the Data Access Layer. 7/26/2010 Final Project 6
  • 7. Project Architecture Entity Objects Presentation Layer – User Interface Data Access Layer LINQ to XML XML Repository 7/26/2010 Final Project 7
  • 8. XML Repository • All of the XML files from the Generator project were placed in a subdirectory of the Website with just 3 changes. • The gridparagraph variable was missing from the list of default values for the consulting contract so we had to add it to the sessionConfig.xml file. • An additional file called Schema1.txt defines each variable and its respective type: cost, date, file, number or text. • An additional file called Tracks.txt defines the various tracks (.NET, SQL, SharePoint and BI) and their respective letter associated with the naming convention – [Year][Letter][Quarter] like 2010Q2. • The folder contains an Archive folder which saves a copy of the existing sessionConfig.xml file before it is modified. 7/26/2010 Final Project 8
  • 9. Data Access Layer – Parser class public methods • The data layer consists of LINQ to XML queries that allows in-memory document modifications with the support of LINQ Query expressions and strongly-typed collections. • These collections can be bound to web controls with little or no code required in the user interface. • Provides functions to – Retrieve a list of all existing session names – Retrieve a collection of all the variables of an existing session. – Write back all the changes to the sessionConfig.xml file. – Create a new session or delete an existing session. – Automatically archive the original version of the file with a date and time stamp. 7/26/2010 Final Project 9
  • 10. Entity Objects Library • Provides flexible objects for Session contents. • Objects contain strongly typed Dictionary collections to allow for data-driven architecture. • The overridden ToString method writes the Session contents in XML format. • Provides other objects for binding to the dropdown boxes. • Provides enum types for the contract type of Consulting or Tuition as well as variable types like Cost, Date, File, Number and Text. 7/26/2010 Final Project 10
  • 11. Presentation Layer – ASP.net website • Presentation layer is an ASP.net website using the following technology. – Master page and CSS style sheet for a uniform look and feel. – Role based security requiring login. – Uniform navigation controls. – Custom user controls. • The edit contract screen and dropdown boxes are entirely data-driven. As variables are added to or deleted from the templates, the screens will automatically adjust and show only those variables which are currently relevant. • Smoothly integrated with the existing contract Generator code. 7/26/2010 Final Project 11
  • 12. Future Enhancements • Track changes by user. • Validate the user input based on the type of the variable like date and money. • Use of .xsd file to define the XML format. 7/26/2010 Final Project 12