Presentation is loading. Please wait.

Presentation is loading. Please wait.

Burgiss Group Architecture Review Presenters: Roger Lim Sarika Rana Rory Jennings Marina Fingerman.

Similar presentations


Presentation on theme: "Burgiss Group Architecture Review Presenters: Roger Lim Sarika Rana Rory Jennings Marina Fingerman."— Presentation transcript:

1 Burgiss Group Architecture Review Presenters: Roger Lim Sarika Rana Rory Jennings Marina Fingerman

2 Burgiss Group Overview Provide Online Invoices and Statements Aggregate data Microsoft CRM QuickBooks Online Edition Purpose Provide Data Source for Burgiss Group’s Extranet

3 Initial Architecture / Design QuickBooks Online API Requires Session Key Login Key (expires every 30 minutes) Master Administrator Access to QB Problems Login Key cannot be hard coded (Intuit API Policy) API requires human intervention in Application mode QBXml slow response time Avg response time: 3-5 seconds per request

4 Architecture Logical View Process View Physical View Development View

5 Interface Design Login screen Invoice Selection screen Outstanding invoice – User will view their current invoice Historical invoice –User will be brought to a page that requests a query by invoice date or number. Overdue invoice –User will be brought to a page which displays all invoices they have. Assuming a client may have more then one overdue invoice the user will be able to choose which invoice they wish to view.

6 Architecture Overview Overarching architecture mimics a three tier system: –Tier One (Front-End) ASP.NET, HTML, XML, and C# –Middle Tier (API) Web Service using.NET Framework 1.1 IIS (Internet Information Server) 5.0+ C# code SQL Stored procedures –Backend (Database) SQL Server 2000

7 Logical View Diagram

8 Logical View Historical invoice module Allows client to view any invoices issued by Burgiss Query by: –Date –Number Outstanding invoice module –Allows the user to view their current invoice. –View the length of their contract term.

9 Logical View Overdue invoice module –View invoices that are considered to be overdue List of add-ons module –View those add-ons that are available to them from Burgiss Gatekeeper module –View client’s invoices

10 Physical View Diagram

11 Physical View Client Configuration –Zero footprint Web Service Burgiss’s Portal Server Configuration –Two Burgiss hosted servers will store and serve data to client portal or other presentation systems. SQL Server for local copy of invoice data Host Web Service and Run Data Import Utility

12 Physical View Server Specifications Microsoft Windows 2000 Server or higher 512 MB of RAM 20 GB Hard Drive Data Storage and OS MS SQL Server 2000 Microsoft Internet Information Server 5.0+ ASP.NET and.NET Framework 1.1 QuickBooks ODBC Driver Client tool that exports data from QuickBooks Online Edition to SQL Server

13 Physical View Server Code –SQL, C#,.NET Framework 1.1 –Runtime code implemented by the system Burgiss Client Utility –Bridge between the QuickBooks Online data and Burgiss’s SQL Server database –Command Line or Windows Form Application Common code base

14 Process View Diagram

15 Process View Expected Load to invoice specific portal module –Average Request Rate : 50 requests/day –Peak Request Rate : 150 requests/day Response Time –Average Response time : within 1 sub-second to 2 seconds –Peak Response time : within 2 seconds Overnight Processing: –An automated utility will download data from QuickBooks Online Edition to a local database on a nightly basis. Average completion time ~ 50 records / minutes

16 Process View Continued Database Usage –Each customer Average 2-3 records per year No more then 12 records per year Clients receive invoices semi-annually or annually

17 Development View Diagram

18 Development View Five iterations –Prototype v1.1 initial testing of web services and soap (completed) –Prototype v1.2 Front end, Web service connection established (completed) –Prototype v1.3 Ability to view outstanding invoices (Feb 25 th ) –Prototype v1.4 Ability to view historical invoices (March 7 th ) –Prototype v1.5 View overdue invoices (March 15 th )

19 Testing Test Overview Sample Test Cases

20 Testing Overview Schedule Unit Testing –NUnit Test Harness Use Cases –Template –Samples

21 Testing Schedule Method –Start date: March 15 th (code completion) –Completion: April 15 th (or when all known issues are fixed) Approach Test TypeNumber of Days Functional5 Integration3 Reliability3 Stress3

22 NUnit Testing Test Framework and Suite –Code harness within our application –GUI application (NUnit Suite) to run tests Graphical test representation Run test cases –Single tests –Suites of tests (regression testing) Automatic reloads on recompilation

23 Test Case Template (Test Case #) Description: Preconditions: Test Case #: ( ) Description : Precondition: ActionExpected ResultPassFailReason

24 Test Cases Log in test suite (Test Case 1) Description: Only authorized users have permission to log in Preconditions: Users have existing accounts Test Case 1a: (Valid User) Description : A valid user logs on Precondition: A user has an account ActionExpected ResultPassFailReason User enters username/ password User is granted access to the system Test Case 1b: (Invalid User) Description: An invalid user cannot log on Precondition: User does not have an account ActionExpected ResultPassFailReason User enters username/ password User is not granted access to the system

25 Historical Invoice test suite (Test Case 2) Description: Authorized users can access their own historical invoices Preconditions: Users have historical invoices in their account Test Case 2a 1 : ( ) Description : A valid user can retrieve own historical invoice by date Precondition: A user is logged on and has a historical invoice ActionExpected ResultPassFailReason User clicks on historical invoice hyperlink User is redirected to historical invoice page User enters a dateHistorical invoice appears Test Case 2a 2 : ( ) Description : A valid user can retrieve own historical invoice by number Precondition: A user is logged on and has a historical invoice ActionExpected ResultPassFailReason User clicks on historical invoice hyperlink User is redirected to historical invoice page User enters an invoice numberHistorical invoice appears Test Case 2b: () Description: User attempts to access a historical invoice by number other than their own Precondition: User is logged in ActionExpected ResultPassFailReason User clicks on historical invoice hyperlink User is redirected to historical invoice page User enters an invoice number of a different user An error page appears

26 Test Cases Outstanding Invoice test suite (Test Case 3) Description: Authorized users can access their own outstanding invoice Preconditions: Users has an outstanding invoice in their account Test Case 3: ( ) Description : A valid user can retrieve own outstanding invoice Precondition: A user is logged on and has an outstanding invoice ActionExpected ResultPassFailReason User clicks on outstanding invoice hyperlink Outstanding invoice appears

27 Overdue Invoice test suite (Test Case 4) Description: Authorized users can access their own overdue invoices Preconditions: N/A Test Case 4a: ( ) Description : A valid user can retrieve own overdue invoice Precondition: A user is logged on and has one overdue invoice ActionExpected ResultPassFailReason User clicks on overdue invoice hyperlink Overdue invoice appears Test Case 4b: ( ) Description : A valid user can retrieve own overdue invoice Precondition: A user is logged on and has no overdue invoices ActionExpected ResultPassFailReason User clicks on overdue invoice hyperlink “No overdue invoice” page appears Test Case 4c: ( ) Description : A valid user can retrieve own overdue invoice Precondition: A user is logged on and has more than one overdue invoice ActionExpected ResultPassFailReason User clicks on overdue invoice hyperlink Redirected to overdue invoice page User clicks on desired overdue invoice Overdue invoice appears

28 Add-ons test suite (Test Case 5) Description: Authorized users can access their own add-ons Preconditions: N/A Test Case 5a: ( ) Description : A valid user can retrieve own add-ons Precondition: A user is logged on and has one or more add-ons ActionExpected ResultPassFailReason User clicks on add-ons hyperlink List of add-ons appears Test Case 5b: ( ) Description : A valid user can retrieve own add-ons Precondition: A user is logged on and has no add-ons ActionExpected ResultPassFailReason User clicks on add-ons hyperlink “No add-ons” page appears Test Cases

29 Revisited Function Points COCOMO

30 Function Points Client IdEILow Client NameDET Invoice NumberEIAverage StringDET DateEIAverage HistoricalEILow Client NameDET Invoice #DET DateDET Overdue EIAverage Client NameDET Invoice #DET DateDET OutstandingEILow Client NameDET Invoice #DET DateDET External Inputs: External Outputs: OverdueEOHigh Client NameDET Invoice #DET DateDET OutstandingEOHigh Client NameDET Invoice #DET DateDET Add-onsEOLow Payment ItemDET HistoricalEOAverage Client NameDET Invoice #DET DateDET

31 Unadjusted Function Points LowAverageHighTotalOld Value External Inputs 5 x 31 x 401923 External Outputs 1 x 41 x 52 x 723 External Inquiry 2 x 31 x 401017 Internal Logical Files 2 x 70014 External Interface files 00000 Total Unadjusted Function Point (UAF) 6677 Total Degree of Influence 2629 **Total Function Points** 6072 LOC using C# 19824464

32 COCOMO Given: –Effort Coefficients: Organic: a=2.4, b=1.05 Embedded: a=3.6, b=1.20 Semi-detached: a=3.0, b=1.12 –For Duration, E=2.5*Ed, where Organic: d=.38 Embedded: d=.35 Semi-detached: d=.32 Note: The values for this estimation would be from semi- detached projects data.

33 COCOMO Effort = a * KLOC b = 3.0 * 1.9821.12 ≈ 6 person-months (Old Value: 16 person-months) Duration = 2.5 * effort = 2.5 * 60.35 = 4.6 months (Old Value: 6.6 Months) Staffing (# of people) = effort/duration = 6 / 4.6 = 1.30 ≈ 2 people (Old Value: 3)

34 Questions?


Download ppt "Burgiss Group Architecture Review Presenters: Roger Lim Sarika Rana Rory Jennings Marina Fingerman."

Similar presentations


Ads by Google