Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.
-
date post
21-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.
![Page 1: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/1.jpg)
Architecture Review
![Page 2: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/2.jpg)
Logical View: Layer Logical View: Layer OverviewOverview
Presentation Layer
Business Layer
Data Access Layer
Exhibits layer cohesion
![Page 3: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/3.jpg)
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: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/4.jpg)
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: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/5.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/6.jpg)
Process ViewProcess View
![Page 7: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/7.jpg)
Development ViewDevelopment View
![Page 8: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/8.jpg)
Physical ViewPhysical View
![Page 9: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/9.jpg)
TESTINGTESTING
![Page 10: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/10.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/11.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/12.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/13.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/14.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/15.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/16.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/17.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/18.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/19.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/20.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/21.jpg)
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. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/22.jpg)
ICED-T
0
1
2
3
4
5
6
Intuitive Consistent Efficient Durable Thoughtful
Phone
Online
In Person
ICED-TICED-T
![Page 23: Architecture Review. Logical View: Layer Overview Exhibits layer cohesion.](https://reader031.fdocuments.in/reader031/viewer/2022032704/56649d6a5503460f94a490a7/html5/thumbnails/23.jpg)
QUESTIONS?QUESTIONS?
THE ENDTHE END