+ All Categories
Home > Documents > Architecture Review

Architecture Review

Date post: 21-Jan-2016
Category:
Upload: mala
View: 40 times
Download: 0 times
Share this document with a friend
Description:
Architecture Review. Logical View: Layer Overview. Exhibits layer cohesion. Logical View: Presentation Layer. Logical View: Business Layer. Logical View: Data Access Layer. Process View. Development View. Physical View. TESTING. Test Plans. - PowerPoint PPT Presentation
Popular Tags:
23
Architecture Review
Transcript
Page 1: Architecture Review

Architecture Review

Page 2: Architecture Review

Logical View: Layer Logical View: Layer OverviewOverview

Presentation Layer

Business Layer

Data Access Layer

Exhibits layer cohesion

Page 3: Architecture Review

Logical View: Presentation Logical View: Presentation LayerLayer

+UIProcess()+ShowAccounts()+ShowAccount()+ShowTransfers()+ShowTransfersAddEdit()+ShowCustomer()+ShowCustomerEdit()+ShowSignIn()-OnVoiceCommandReceived()

+CustomerID-commandReceivedEvent : CommandReceivedEventHandler

UIProces

+Page_Load()

-voiceCommandListener : VoiceCommandListener#dalcAccounts : Accounts

Account.asp

+Page_Load()

-voiceCommandListener : VoiceCommandListener

Accounts.asp

+Page_Load()

-voiceCommandListener : VoiceCommandListener-dalcCustomers : Customers

Customer.asp

+Page_Load()

-uiProcess : UIProcess-dalcCustomers : Customers

CustomerEdit.asp

+Page_Load()

-voiceCommandListener : VoiceCommandListener-dalcTransfers : Transfers

Transfers.asp

+Page_Load()

-uiProcess : UIProcess-dalcTransfers : Transfers

TransfersAddEdit.asp

+Page_Load()

-customerProcess : CustomerProcess

SignIn.asp

+SignIn() : bool+SignOut()

-uiProcess : UIProcess

CustomerProcess

*

*

*

*

**

*

*

*

*

*

*

*

*

*

*

Page 4: Architecture Review

Logical View: Business Logical View: Business LayerLayer

DataRow

-Rows : DataRow

DataSet

1 *

DataReader

+Md5Hash(in String : string) : byte[]

Hash

+VoiceCommandListener()

VoiceCommandListener

+Name : string+IntrestRate : AccountTypeDisplay+Balance : AccountTypeDisplay+BalanceAvailable : AccountTypeDisplay+NextPaymentDate : AccountTypeDisplay+NextPaymentAmt : AccountTypeDisplay

AccountTypeEntity

+Name() : string+Display() : bool

«struct»AccountTypeDisplay

Page 5: Architecture Review

Logical View: Data Access Logical View: Data Access LayerLayer

+Create(in CustomerID, in AccountTypeID, in ...)+Update(in Account : DataSet)+Delete(in AccountID : int)+GetOne(in AccountID) : DataSet+GetAllForCustomer(in CustomerID) : DataReader+GetAllForCustomerSummary() : DataReader

Accounts

+Create(in CustomerID, in FirstName, in ...)+Update(in Customer : DataSet)+Delete(in CustomerID)+GetOne(in CustomerID : int) : DataSet+GetPin() : string

Customers

#GetSqlCommand(in Name : string) : SqlCommand

-strConnection : string

DalcHelper

+Create(in Date, in AccountID, in ...)+Update(in Transfer : DataSet)+Delete(in TransferID)+GetOne(in TransferID) : DataSet+GetPastForAccount(in AccountID) : DataReader+GetFutureForAccount(in AccountID) : DataReader

Transfers

SqlCommand

+Create(in AccountID, in Amount, in ...)+GetForAccount(in AccountID, in NumResults) : DataReader+GetRangeForAccount(in FromDate, in ToDate) : DataReader

History

+Create(in Name, in IntrestRateName, in ...)+Update(in AccountType : DataSet)+GetOne(in AccountTypeID) : AccountTypeEntity

AccountTypes

+Weekly+BiWeekly+Monthly

«enumeration»FrequencyType

* *

Page 6: Architecture Review

Process ViewProcess View

Page 7: Architecture Review

Development ViewDevelopment View

Page 8: Architecture Review

Physical ViewPhysical View

Page 9: Architecture Review

TESTINGTESTING

Page 10: Architecture Review

The following input is required to test an The following input is required to test an application block: application block:

Functional specifications Functional specifications Requirements Requirements Performance objectives Performance objectives

Test PlansTest Plans

Page 11: Architecture Review

Test Methods :Test Methods :

Regression TestingRegression Testing Integration TestingIntegration Testing Black Box Testing ( Stress Black Box Testing ( Stress

Testing )Testing ) Unit Testing ( N – Unit )Unit Testing ( N – Unit )

Test PlansTest Plans

Page 12: Architecture Review

Regression Testing:Regression Testing: Test fixed bugs promptly. Test fixed bugs promptly. Watch for side effects of fixes. Watch for side effects of fixes. Write a regression test for each bug fixed.Write a regression test for each bug fixed. If two or more tests are similar, determine If two or more tests are similar, determine

which is less effective and get rid of it. which is less effective and get rid of it. Identify tests that the program Identify tests that the program

consistently passes and archive them. consistently passes and archive them. Focus on functional issues, not those Focus on functional issues, not those

related to design. related to design. Make changes (small and large) to data Make changes (small and large) to data

and find any resulting corruption. and find any resulting corruption.

Test PlansTest Plans

Page 13: Architecture Review

Integration Testing:Integration Testing:

Def: A type of testing in which software Def: A type of testing in which software and/or hardware components are and/or hardware components are combined and tested to confirm that they combined and tested to confirm that they interact according to their requirementsinteract according to their requirements

Check Connections :Check Connections : Pocket PC ----------Pocket PC ---------- Web Server Web Server Web Server Web Server ---------------- SQL Server SQL Server Pocket PC ----------Pocket PC ---------- Speech Server Speech Server Speech Server ----------Speech Server ---------- Web Server Web Server

Test PlansTest Plans

Page 14: Architecture Review

Stress Testing:Stress Testing:

Evaluate the application block's Evaluate the application block's behavior when it is pushed beyond behavior when it is pushed beyond peak load conditions. peak load conditions.

The goal of stress testing is to The goal of stress testing is to identify errors that occur only under identify errors that occur only under high load conditions.high load conditions.

Test PlansTest Plans

Page 15: Architecture Review

Unit-Testing Method For All .NET Unit-Testing Method For All .NET LanguagesLanguages

AssertionsAssertions ComparisonsComparisons Condition TestsCondition Tests

N-Unit TestingN-Unit Testing

Page 16: Architecture Review

Report Expected and Actual ValuesReport Expected and Actual Values Assert.AreEqualAssert.AreEqual

Both arguments are of the same datatypeBoth arguments are of the same datatype Ex.(Assert.AreEqual Int Expected, Int Actual) Ex.(Assert.AreEqual Int Expected, Int Actual)

in Transfer Balancein Transfer Balance Assert.AreSameAssert.AreSame

Same Objects are referenced by both Same Objects are referenced by both argumentsarguments

ComparisonsComparisons

Page 17: Architecture Review

Assert.IsTrue(Bool Condition) Assert.IsTrue(Bool Condition) Assert.IsFalse(Bool Condition)Assert.IsFalse(Bool Condition)

Ex. Ex. Assert.IsTrue(hash.MeetsPassword(“goodAssert.IsTrue(hash.MeetsPassword(“goodpass”), “Good password failed check”);pass”), “Good password failed check”);

Assert.IsFalse(hash.MeetsPassword(“badpAssert.IsFalse(hash.MeetsPassword(“badpass”), “Bad password passed check”);ass”), “Bad password passed check”);

Condition TestsCondition Tests

Page 18: Architecture Review

Total lines of code = 41.8 function points Total lines of code = 41.8 function points * 53 lines per function point* 53 lines per function point

Total lines of code = 2215.4Total lines of code = 2215.4 KLOC therefore equals 2.22KLOC therefore equals 2.22 E = bKLOCcE = bKLOCc The basic COCOMO parameters for a The basic COCOMO parameters for a

semidetached project are b = 3.0 and c semidetached project are b = 3.0 and c = 1.12= 1.12

E = 3.0 (2.22)1.12E = 3.0 (2.22)1.12 E = 7.328 staff monthsE = 7.328 staff months

COCOMOCOCOMO

Page 19: Architecture Review

Student months = 4 * 7.328 = 29.02Student months = 4 * 7.328 = 29.02 29.02 student months / 7 students = 4.2 29.02 student months / 7 students = 4.2

monthsmonths

COCOMOCOCOMO

Page 20: Architecture Review

Goals/features CheckAccountBalances

TransferFunds

GetAccount

Info

ChangeUser Info

HelpSystem

VoiceControl

Easy navigation

5 5 5 5 7 10

Secure 8 10 8 10 1 5

Quick loadingTimes

7 4 7 4 8 N/A

Information iseasy to read

9 4 9 4 9 N/A

Easy to inputData

N/A 9 N/A 9 N/A 9

---------------------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ----------------------------

Totals 29 32 29 29 25 24

QFD AnalysisQFD Analysis

Page 21: Architecture Review

  Phone Online Pocket PC In Person

Intuitive 2 3 4 5

Consistent 4 4 4 3

Efficient 3 4 5 2

Durable 4 4 4 1

Thoughtful 2 3 4 5

ICED-TICED-T

Page 22: Architecture Review

ICED-T

0

1

2

3

4

5

6

Intuitive Consistent Efficient Durable Thoughtful

Phone

Online

Pocket

In Person

ICED-TICED-T

Page 23: Architecture Review

QUESTIONS?QUESTIONS?

THE ENDTHE END


Recommended