SlideShare a Scribd company logo
1 of 34
Requirement MatrixConcepts and Implementation An End-to-end Paradigm     in Building Quality Applications Bronnie F Tse bronnie@pacific.net.sg 立方体科技
Agenda Session I 	1	RM basic concepts 	2	Key features 	3	Precedence & cascade Session II 	4	Implements and Implementations 	5	RM engine 	6	Code generation Session III 	7	Automated testing 	8	Well known location paradigm 	9	Quality cost
Ill forms in recording Business Rules ,[object Object]
In forms needing to educate readers: some might not be able to grasp
With hidden columns, collapsed outlines: often source of omission in implementation
Pseudo code is aplenty embodying a lot of implementation details such as permissible value lists, result codes: too technical and too complex not to miss something
Prescribes process to achieve business requirement: the actual business rules may not have been recordedLeading to: ,[object Object]
Difficult to achieve shared understanding and sign-off
High project cost by way of timeline, personnel, fixes, customer relationsMS Excel used as the tool, but in the wrong manner
Agenda Session I 	1	RM basic concepts
Propositional Calculus What are the key charactieristics of a Truth Table? Augustus De Morgan’s Theorem 1 & 2  (A  B)  ( A)  ( B)  (A  B)  ( A)  ( B) To illustrate, we can look at this Truth Table: The instantiation of De Morgan’s Theorem is very common in programming, such that: If not (A and B) then sometimes, perhaps to facilitate comprehension, is written as: If not A or not B then Truth Table is a simple chart showing the possible combinations of truth-values for a statement form or an argument form in the Propositional Calculus     ,[object Object]
Completeness can be checked
The roworder is insignificant
The columnorder is also insignificant is Negate,  is Or,  is And,  is Equivalence
Requirement Matrix: A First Look A trivial example: In a certain prestigious club in Singapore, there is a rule on the use of toilets: male and female shall use their respective toilets as marked, except that children of age below 6 can use either. The following illustrates how the Truth Table is adopted: Recall the following points: ,[object Object]
Completeness can be checked
The roworderamong Rules and/or among Implementsis insignificant
The columnordertaking both Rules and Implements together is also insignificantNote the double line separating the Rules and the Implements    
Requirement Matrix: Key Points Unambiguity This is good for so long as there are only Male and Female.  This dimension is termed Invariant, which is a critical dependency in Business Rules. For the above to be “fool-proof”, it needs to be expanded to safeguard against future changes not well communicated. Invariants are often Enumerations.  It is always a good practice to communicate the source of error with an error code NMF
Requirement Matrix: Dimension Completeness While Truth Table is Bi-state, Requirement Matrix is Tri-state, ie. “T”(rue), “F”(alse) and “” (Ignored), for which the cell is left un-entered Number of cases = 2(number of business rules), thus 2 rules are completely described in 4 cases However, Invariant is a special rulewith enumerated Elements that, in this example: Number of cases = (Number of Elements in Invariant  + 1 ) * 2(number of business rules remaining) = (2+1)*21 = 6 Homonyms are  collapsed to provide better clarity NMF2 NMF1 NMF Why are there only 5 shown?
Requirement Matrix: Systematic There should have been 2 as follows: FOA = Non male over age limit MOA = Non female over age limit FOA MOA
Agenda Session I 	1	RM basic concepts 	2	Key features
Requirement Matrix: Construction A fictitious fragment in approving a loan: ,[object Object]
a CPF (Central Provident Fund) Contribution Statement
an ETA (whatever that is)
a payslip
If one is employed with an income of SGD3,000 or less, one has to provide Proof of Income, which must be a CPF Contribution Statement
If one is self-employed, one has to provide Proof of Income, which must be an NTA (Notice of Tax Assessment)Give a title describing the purpose/objective Use the key Invariant as “anchor” to start it off Write down the business rules one at a time, applying some reasoning to facilitate comprehension Group equivalent business rules as one Write down all the required actions Build the matrix focusing on the key Invariant enumerations one at a time Compile a collection of all the errors for easy reference Such as: ,[object Object]
Having dealt with income, then the Proof of Income becomes relevantRejection codes & text: E1	Employed with > SGD3,000  but without Proof of Income E2	Employed with  SGD3,000 but without Proof of Income E3	Self-employed but without Proof of Income E4	Employment Status not acceptable
Requirement Matrix: Completeness Why are there only 8cases illustrated? A fictitious fragment in approving a loan: ,[object Object]
a CPF (Central Provident Fund) Contribution Statement
a ETA (whatever that is)
a payslip
If one is employed with an income of SGD3,000 or less, one has to provide Proof of Income, which must be a CPF Contribution Statement

More Related Content

What's hot

Amit giri resume
Amit giri resumeAmit giri resume
Amit giri resumeAMIT GIRI
 
Chapter no 5 understanding requirements
Chapter no 5 understanding requirementsChapter no 5 understanding requirements
Chapter no 5 understanding requirementsnaveed428
 
Software requirements and analysis
Software requirements and analysisSoftware requirements and analysis
Software requirements and analysisPhanindra Cherukuri
 
Software requirement
Software requirementSoftware requirement
Software requirementsetalk
 
Week5 Ensure Analysis Is Accurate And Complete
Week5 Ensure Analysis Is Accurate And CompleteWeek5 Ensure Analysis Is Accurate And Complete
Week5 Ensure Analysis Is Accurate And Completehapy
 
CRM Testing Services - Ensure Smooth Functioning of Complex CRM Workflows
CRM Testing Services - Ensure Smooth Functioning of Complex CRM WorkflowsCRM Testing Services - Ensure Smooth Functioning of Complex CRM Workflows
CRM Testing Services - Ensure Smooth Functioning of Complex CRM WorkflowsBugRaptors
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysisSangeet Shah
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisAbdul Basit
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)IIUI
 
GirishKumar_QA_5YearExp
GirishKumar_QA_5YearExpGirishKumar_QA_5YearExp
GirishKumar_QA_5YearExpGirish Kumar
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functionalCHANDRA KAMAL
 
Use Case Workshop
Use Case WorkshopUse Case Workshop
Use Case Workshopelkensteyin
 
Requirements analysis 2011
Requirements analysis 2011Requirements analysis 2011
Requirements analysis 2011bernddu
 
8 Characteristics of good user requirements
8 Characteristics of good user requirements8 Characteristics of good user requirements
8 Characteristics of good user requirementsguest24d72f
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirementsIIUI
 
Abdul New Resume (002)
Abdul New Resume (002)Abdul New Resume (002)
Abdul New Resume (002)Abdul Majeed
 

What's hot (20)

RMS
RMSRMS
RMS
 
Amit giri resume
Amit giri resumeAmit giri resume
Amit giri resume
 
Chapter no 5 understanding requirements
Chapter no 5 understanding requirementsChapter no 5 understanding requirements
Chapter no 5 understanding requirements
 
Software requirements and analysis
Software requirements and analysisSoftware requirements and analysis
Software requirements and analysis
 
Software requirement
Software requirementSoftware requirement
Software requirement
 
Week5 Ensure Analysis Is Accurate And Complete
Week5 Ensure Analysis Is Accurate And CompleteWeek5 Ensure Analysis Is Accurate And Complete
Week5 Ensure Analysis Is Accurate And Complete
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
 
CRM Testing Services - Ensure Smooth Functioning of Complex CRM Workflows
CRM Testing Services - Ensure Smooth Functioning of Complex CRM WorkflowsCRM Testing Services - Ensure Smooth Functioning of Complex CRM Workflows
CRM Testing Services - Ensure Smooth Functioning of Complex CRM Workflows
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Unit 2
Unit 2Unit 2
Unit 2
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
 
Process Support for requirements engineering
Process Support for requirements engineeringProcess Support for requirements engineering
Process Support for requirements engineering
 
GirishKumar_QA_5YearExp
GirishKumar_QA_5YearExpGirishKumar_QA_5YearExp
GirishKumar_QA_5YearExp
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functional
 
Use Case Workshop
Use Case WorkshopUse Case Workshop
Use Case Workshop
 
Requirements analysis 2011
Requirements analysis 2011Requirements analysis 2011
Requirements analysis 2011
 
8 Characteristics of good user requirements
8 Characteristics of good user requirements8 Characteristics of good user requirements
8 Characteristics of good user requirements
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Abdul New Resume (002)
Abdul New Resume (002)Abdul New Resume (002)
Abdul New Resume (002)
 

Similar to Requirement matrix concepts & implementation

A G S006 Little 091807
A G S006  Little 091807A G S006  Little 091807
A G S006 Little 091807Dreamforce07
 
The ultimate guide to cost management
The ultimate guide to cost managementThe ultimate guide to cost management
The ultimate guide to cost managementTim Kalbitzer
 
Bba205 management information system
Bba205  management information systemBba205  management information system
Bba205 management information systemsmumbahelp
 
Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...
Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...
Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...Sparkrock
 
A. Can InciFIN 465Innovations in Contemporary FinanceP.docx
A. Can InciFIN 465Innovations in Contemporary FinanceP.docxA. Can InciFIN 465Innovations in Contemporary FinanceP.docx
A. Can InciFIN 465Innovations in Contemporary FinanceP.docxbartholomeocoombs
 
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best PracticesSimplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practicespanayaofficial
 
Improve phase lean six sigma tollgate template
Improve phase   lean six sigma tollgate templateImprove phase   lean six sigma tollgate template
Improve phase lean six sigma tollgate templateSteven Bonacorsi
 
Improve phase lean six sigma tollgate template
Improve phase   lean six sigma tollgate templateImprove phase   lean six sigma tollgate template
Improve phase lean six sigma tollgate templateSteven Bonacorsi
 
Bba205 management information system
Bba205  management information systemBba205  management information system
Bba205 management information systemsmumbahelp
 
Super Strategies 2014 ACL Presentation
Super Strategies 2014 ACL PresentationSuper Strategies 2014 ACL Presentation
Super Strategies 2014 ACL PresentationDavid Fernandes
 
A Framework for Improving Operational Efficiency in Investment Banks
A Framework for Improving Operational Efficiency in Investment BanksA Framework for Improving Operational Efficiency in Investment Banks
A Framework for Improving Operational Efficiency in Investment BanksCognizant
 
Stage 1 Strategic Use of TechnologyBefore you begin work on.docx
Stage 1   Strategic Use of TechnologyBefore you begin work on.docxStage 1   Strategic Use of TechnologyBefore you begin work on.docx
Stage 1 Strategic Use of TechnologyBefore you begin work on.docxsusanschei
 
5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)randhirlpu
 
Six_Sigma_Report_Template_v2 (2).pptx
Six_Sigma_Report_Template_v2 (2).pptxSix_Sigma_Report_Template_v2 (2).pptx
Six_Sigma_Report_Template_v2 (2).pptxPhngPhmTrung
 
Mapping and documentation
Mapping and documentationMapping and documentation
Mapping and documentationAdamRice38
 
Toward a Future-Proof Product Control Function
Toward a Future-Proof Product Control FunctionToward a Future-Proof Product Control Function
Toward a Future-Proof Product Control FunctionCognizant
 
Resume Rohan Godbole
Resume Rohan Godbole Resume Rohan Godbole
Resume Rohan Godbole Rohan Godbole
 
2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx
2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx
2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docxstandfordabbot
 
software development methodologies
software development methodologiessoftware development methodologies
software development methodologiesJeremiah Wakamu
 

Similar to Requirement matrix concepts & implementation (20)

A G S006 Little 091807
A G S006  Little 091807A G S006  Little 091807
A G S006 Little 091807
 
The ultimate guide to cost management
The ultimate guide to cost managementThe ultimate guide to cost management
The ultimate guide to cost management
 
Bba205 management information system
Bba205  management information systemBba205  management information system
Bba205 management information system
 
Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...
Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...
Alliance 2017 - CRM Deep Dive: Workflows, Business Rules, Security, and Troub...
 
A. Can InciFIN 465Innovations in Contemporary FinanceP.docx
A. Can InciFIN 465Innovations in Contemporary FinanceP.docxA. Can InciFIN 465Innovations in Contemporary FinanceP.docx
A. Can InciFIN 465Innovations in Contemporary FinanceP.docx
 
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best PracticesSimplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
 
Improve phase lean six sigma tollgate template
Improve phase   lean six sigma tollgate templateImprove phase   lean six sigma tollgate template
Improve phase lean six sigma tollgate template
 
Improve phase lean six sigma tollgate template
Improve phase   lean six sigma tollgate templateImprove phase   lean six sigma tollgate template
Improve phase lean six sigma tollgate template
 
Bba205 management information system
Bba205  management information systemBba205  management information system
Bba205 management information system
 
Super Strategies 2014 ACL Presentation
Super Strategies 2014 ACL PresentationSuper Strategies 2014 ACL Presentation
Super Strategies 2014 ACL Presentation
 
A Framework for Improving Operational Efficiency in Investment Banks
A Framework for Improving Operational Efficiency in Investment BanksA Framework for Improving Operational Efficiency in Investment Banks
A Framework for Improving Operational Efficiency in Investment Banks
 
Stage 1 Strategic Use of TechnologyBefore you begin work on.docx
Stage 1   Strategic Use of TechnologyBefore you begin work on.docxStage 1   Strategic Use of TechnologyBefore you begin work on.docx
Stage 1 Strategic Use of TechnologyBefore you begin work on.docx
 
5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)
 
Six_Sigma_Report_Template_v2 (2).pptx
Six_Sigma_Report_Template_v2 (2).pptxSix_Sigma_Report_Template_v2 (2).pptx
Six_Sigma_Report_Template_v2 (2).pptx
 
Mapping and documentation
Mapping and documentationMapping and documentation
Mapping and documentation
 
Toward a Future-Proof Product Control Function
Toward a Future-Proof Product Control FunctionToward a Future-Proof Product Control Function
Toward a Future-Proof Product Control Function
 
Resume Rohan Godbole
Resume Rohan Godbole Resume Rohan Godbole
Resume Rohan Godbole
 
2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx
2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx
2 wks3 wksGenerateQuoteSQOCustomerContact Cust.docx
 
Analysis
AnalysisAnalysis
Analysis
 
software development methodologies
software development methodologiessoftware development methodologies
software development methodologies
 

Requirement matrix concepts & implementation

  • 1. Requirement MatrixConcepts and Implementation An End-to-end Paradigm in Building Quality Applications Bronnie F Tse bronnie@pacific.net.sg 立方体科技
  • 2. Agenda Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade Session II 4 Implements and Implementations 5 RM engine 6 Code generation Session III 7 Automated testing 8 Well known location paradigm 9 Quality cost
  • 3.
  • 4. In forms needing to educate readers: some might not be able to grasp
  • 5. With hidden columns, collapsed outlines: often source of omission in implementation
  • 6. Pseudo code is aplenty embodying a lot of implementation details such as permissible value lists, result codes: too technical and too complex not to miss something
  • 7.
  • 8. Difficult to achieve shared understanding and sign-off
  • 9. High project cost by way of timeline, personnel, fixes, customer relationsMS Excel used as the tool, but in the wrong manner
  • 10. Agenda Session I 1 RM basic concepts
  • 11.
  • 13. The roworder is insignificant
  • 14. The columnorder is also insignificant is Negate,  is Or,  is And,  is Equivalence
  • 15.
  • 17. The roworderamong Rules and/or among Implementsis insignificant
  • 18. The columnordertaking both Rules and Implements together is also insignificantNote the double line separating the Rules and the Implements    
  • 19. Requirement Matrix: Key Points Unambiguity This is good for so long as there are only Male and Female. This dimension is termed Invariant, which is a critical dependency in Business Rules. For the above to be “fool-proof”, it needs to be expanded to safeguard against future changes not well communicated. Invariants are often Enumerations. It is always a good practice to communicate the source of error with an error code NMF
  • 20. Requirement Matrix: Dimension Completeness While Truth Table is Bi-state, Requirement Matrix is Tri-state, ie. “T”(rue), “F”(alse) and “” (Ignored), for which the cell is left un-entered Number of cases = 2(number of business rules), thus 2 rules are completely described in 4 cases However, Invariant is a special rulewith enumerated Elements that, in this example: Number of cases = (Number of Elements in Invariant + 1 ) * 2(number of business rules remaining) = (2+1)*21 = 6 Homonyms are collapsed to provide better clarity NMF2 NMF1 NMF Why are there only 5 shown?
  • 21. Requirement Matrix: Systematic There should have been 2 as follows: FOA = Non male over age limit MOA = Non female over age limit FOA MOA
  • 22. Agenda Session I 1 RM basic concepts 2 Key features
  • 23.
  • 24. a CPF (Central Provident Fund) Contribution Statement
  • 25. an ETA (whatever that is)
  • 27. If one is employed with an income of SGD3,000 or less, one has to provide Proof of Income, which must be a CPF Contribution Statement
  • 28.
  • 29. Having dealt with income, then the Proof of Income becomes relevantRejection codes & text: E1 Employed with > SGD3,000 but without Proof of Income E2 Employed with  SGD3,000 but without Proof of Income E3 Self-employed but without Proof of Income E4 Employment Status not acceptable
  • 30.
  • 31. a CPF (Central Provident Fund) Contribution Statement
  • 32. a ETA (whatever that is)
  • 34. If one is employed with an income of SGD3,000 or less, one has to provide Proof of Income, which must be a CPF Contribution Statement
  • 35. If one is self-employed, one has to provide Proof of Income, which must be an NTAThere are 2 Invariants, Employment Status (2 elements) and Proof of Income Document (3 elements), and 1 business rule remaining that ( (2+1) * (3+1) ) * 21 = 3 * 4 * 2 = 24 Mathematically, the number of cases to illustrate = ((Number of Elements in Invariant 1 + 1 ) * (Number of Elements in Invariant 2 + 1 ) * 2(number of business rules remaining)
  • 36.
  • 37. Confirm requirements: its clarity helps to quickly spot errors and omissions
  • 38. Respond quickly to requirement changes: simply marking in “Y”, “N”, “a”, and error codes
  • 39. Analyse requirements: sorting rows and columns to bring chosen details into focus providing the needed different perspectives to the understanding
  • 40. Communicate requirements: free from language idiosyncrasies in essay-type instruments to quickly achieve shared understanding*
  • 41. Skill transfer: thus growing Human Capital scalability
  • 42. Scope Function Verification: not only to ensure coverage, but also to provide good basis for effort estimation
  • 43. Capitalise on pertinent technology: when using MS Excel, hyperlinks can be inserted to provide easy cross-referencing to other material
  • 44. Automate tasks: the sometimes daunting task of compiling a full list of error codes can be achieved promptly through some VBA and/or VSTO implementation/s
  • 45. Contribute to the CMMI Traceability* Critically important to achieving timely Sign-Off and successes in Testing phases
  • 46. Requirement Matrix: Verification … on that requirement is indeed met Depending on the type of application, test cases can be as simple as sets of data being run through a batch program More commonly, each may represent a series of steps in a process flow, which is typical of interaction intensive applications This matrix demonstrates the test coverage drawing clear correlation between Requirement and the Verification of it Traceability is also achieved Functional Requirement FunctionVerification In a separate matrix bound through Test Suite references
  • 47. Agenda Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade
  • 48.
  • 51. Any amount left over shall be applied to the House Suspense account
  • 52. Recall the row order among Implements is insignificant and all Implements for any Business Rules case must be fulfilled irrespectively
  • 53. Recur is placed last for easy comprehension
  • 54. Precedence is achieved in the Rules, not in the Implements
  • 55.
  • 56.
  • 57. in forms like 1, 2, 3 and 4, or E, R, SE and UERulesandImplements(aka Actions) are in the Businessdomain, in which order on columns and rows are insignificant Implementationis in the DesignandDevelopmentdomain, in which order on columns and rows can be, but not necessarily, significant
  • 58. Requirement Matrix: Process Recap For i = 1 To UBound(Rules_Evaluation_Result) Rules_Evaluation_Result(i) = Implemenation(i) Next For i = 1 To UBound(Evaluation_Control) Do For j = 1 To Evaluation_Control(i).Evaluation_Count If Rules_Evaluation_Result(Evaluation_Manifest(Evaluation_Control(i).Evaluation_Start* 2 + (j * 2 - 1))) <> _ Evaluation_Manifest(Evaluation_Control(i).Evaluation_Start* 2 + (j * 2)) Then Exit Do End if Next For j = 1 To Execution_Control(i).Execution_Count x = Implemenatation(Execution_Manifest(Execution_Control(i).Execution_Start + j)) Next Exit Function Loop Until 0 = 0 Next SystemCatastrophe These are high value-add activities. When done RIGHT, the system can be built in very high precision. 1 Matrix the Requirement 2 Add Implementation 3 Transform into programming artefacts 4 Write code 3 Generate Code This appears to be quite complex. However, the steps are very algorithmic thus can be automated. This is actually very deterministic that can be easily automated. Function Implementation(SerialAs Integer) As Integer Select Case Serial Case 1 Implementation = IIf(applicant.ES = 1, 1, 0) Case 2 Implementation = IIf(applicant.ES = 5, 1, 0) Case 3 Implementation = IIf(applicant.Gross > 3000.00, 1, 0) Case 4 Implementation = IIf(applicant.POI = 1, 1, 0) Case 5 Implementation = IIf(applicant.POI = 2 Or applicant.POI = 3, 1, 0) Case 6 Implementation = IIf(applicant.POI = 4, 1, 0) Case 7 Implementation = LoanEligible(7) Case 8 Implementation = LoanEligible(9) Case 9 Implementation = ThrowEx(E1) Case 10 Implementation = ThrowEx(E2) Case 11 Implementation = ThrowEx(E3) Case 12 Implementation = ThrowEx(E4) Case Else SystemCatastrophe End Select Should 1 & 2 be achieved using MSExcel, 3 & 4 can be automated usng VSTO (Visual Studio Tool for Office) Matrix everything that can be matrix-ed Automateeverything that can be matrix-ed
  • 59. Agenda Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade Session II 4 Implements and Implementations 5 RM engine
  • 60. Requirement Matrix: An Optimised Generic Engine 1/2 Function Income_Verification_Implementation(Serial As Integer) As Integer Select Case Serial Case 0 Income_Verification_Implementation = _ IIf(applicant.ES = 1, 1, 0) * 2 ^ 0 OR _ IIf(applicant.ES = 5, 1, 0) * 2 ^ 1 OR _ IIf(applicant.Gross > 3000.00, 1, 0) * 2 ^ 2 OR _ IIf(applicant.POI = 1, 1, 0) * 2 ^ 3 OR _ IIf(applicant.POI = 2 Or applicant.POI = 3, 1, 0) * 2 ^ 4 OR _ IIf(applicant.POI = 4, 1, 0) * 2 ^ 5 Case 1 Income_Verification_Implementation = LoanEligible(7) Case 2 Income_Verification_Implementation = LoanEligible(9) Case 3 Income_Verification_Implementation = ThrowEx(E1) Case 4 Income_Verification_Implementation = ThrowEx(E2) Case 5 Income_Verification_Implementation = ThrowEx(E3) Case 6 Income_Verification_Implementation = ThrowEx(E4) Case Else SystemCatastrophe End Select Upon code being generated the Requirement Matrix engine can sport a more complex design without concern on inadvertant implementation mistakes Object Income_Verification TypeHolon_Descriptor Significance Integer 13, 21, 29, 13, 13, 34, 34, 3 TargetMatch Integer 13, 21, 5, 9, 1, 34, 2, 0 ExecutionPlan Integer 1, 3, 4, 2, 8, 2, 16, 32 Implementation Function _ ‘Income_Verification_Implementation’ Function RM_Engine(RM_Manifest As Holon_Descriptor) k = Execute(RM_Manifest.Implementation(0)) For i = 1 To UBound(RM_Manifest.Significance) If (kAndRM_Manifest.Significance(i))=_ RM_Manifest.TargetMatch(i)Then k = RM_Manifest.ExecutionPlan(i) Do While k <> 0 j = j + 1 If k And (2 ^ (j - 1)) <> 0 Then k = k Xor (2 ^ (j - 1)) x = Execute(RM_Manifest.Implementation(j)) End If Loop Exit Function End If Next SystemCatastrophe Core.RM_Engine(Income_Verification)
  • 61.
  • 64.
  • 65. The componentisation can be “naturally” achieved consistent with the Business the system is built for
  • 66.
  • 67. Instantiate in such a manner that 0 (no Implementation) marks a non-recursive Requirement Matrix
  • 68. Update engineObject Credit_Card_Disbursement Type Holon_Descriptor Significance Integer 1, 1 TargetMatch Integer 1, 0 ExecutionPlan Integer 1, 6 Implementation Function _ ‘Credit_Card_Disbursement_Implementation’ Recur Integer 0
  • 69. Precedence and Cascade 2/2 Function RM_Engine(RM_Manifest As Holon_Descriptor) Do Do k = Execute(RM_Manifest.Implementation(0)) For i = 1 To UBound(RM_Manifest.Significance) If (kAndRM_Manifest.Significance(i))=_ RM_Manifest.TargetMatch(i)Then k = RM_Manifest.ExecutionPlan(i) Do While k <> 0 j = j + 1 If k And (2 ^ (j - 1)) <> 0 Then k = k Xor (2 ^ (j - 1)) x = Execute(RM_Manifest.Implementation(j)) End If Loop If RM_Manifest.Recur <> 0 then Exit Do Exit Function End If Next SystemCatastrophe Loop Until 0 = 0 Loop Until Execute(RM_Manifest.Implementation(RM_Manifest.Recur)) = 0 Object Disbursement Type Holon_Descriptor Significance Integer 1, 3, 3 TargetMatch Integer 1, 2, 0 ExecutionPlan Integer 1, 2, 4 Implementation Function _ ‘Disbursement_Implementation’ Recur Integer 4 Function Disbursement_Implementation(Serial As Integer) As Integer Select Case Serial Case 0 Disbursement_Implementation = _ IIf((Credit_Card.Interest + Credit_Card.Spending) > 0, 1, 0) * 2 ^ 0 OR _ IIf(Overdraft.Total > 0, 1, 0) * 2 ^ 1 Case 1 Disbursement_Implementation = _ Core.RM_Engine(Credit_Card_Disbursement) Case 2 Disbursement_Implementation = _ Deduct_Overdraft() Case 3 Disbursement_Implementation = _ AddTo_House_Suspense() Case 4 Disbursement_Implementation =_ IIf(Payment.Amount <> 0, 1, 0) Case Else SystemCatastrophe End Select Renders a simple mechanism to produce neatly structured code Object Credit_Card_Disbursement Type Holon_Descriptor Significance Integer 1, 1 TargetMatch Integer 1, 0 ExecutionPlan Integer 1, 6 Implementation Function _ ‘Credit_Card_Disbursement_Implementation’ Recur Integer 0
  • 70. Enhanced Requirement Matrix: An Optimised Generic Engine ^ with diagnostic information Function RM_Engine(RM_Manifest As Holon_Descriptor) Do Do k = Execute(RM_Manifest.Implementation(0)) For i = 1 To UBound(RM_Manifest.Significance) If (k And RM_Manifest.Significance(i)) = _ RM_Manifest.TargetMatch(i) Then k = RM_Manifest.ExecutionPlan(i) Do While k <> 0 j = j + 1 If k And (2 ^ (j - 1)) <> 0 Then k = k Xor (2 ^ (j - 1)) x = Execute(RM_Manifest.Implementation(j)) End If Loop If RM_Manifest.Recur <> 0 then Exit Do Exit Function End If Next SystemCatastrophe Loop Until 0 = 0 Loop Until Execute(RM_Manifest.Implementation(RM_Manifest.Recur)) = 0 Object Disbursement Type Holon_Descriptor Significance Integer 1, 3, 3 TargetMatch Integer 1, 2, 0 ExecutionPlan Integer 1, 2, 4 Implementation Function ‘Disbursement_Implementation’ Recur Integer 4 ID Text ‘Disbursement’ Function Disbursement_Implementation(Serial As Integer) As Integer Select Case Serial Case 0 Disbursement_Implementation = _ IIf((Credit_Card.Interest + Credit_Card.Spending) > 0, 1, 0) * 2 ^ 0 OR _ IIf(Overdraft.Total > 0, 1, 0) * 2 ^ 1 Case 1 Disbursement_Implementation = _ Core.RM_Engine(Credit_Card_Disbursement) Case 2 Disbursement_Implementation = _ Deduct_Overdraft() Case 3 Disbursement_Implementation = _ AddTo_House_Suspense() Case 4 Disbursement_Implementation = _ IIf(Payment.Amount <> 0, 1, 0) Case Else SystemCatastrophe End Select Core.RulesMatched(k, RM_Manifest) Core.SerialOutOfBound(Serial, _ “Disbursement (0-4)”) Core.RulesNotMatched(k, _ RM_Manifest) Core.RM_Engine(Disbursement)
  • 71. Agenda Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade Session II 4 Implements and Implementations 5 RM engine 6 Code generation
  • 72.
  • 73. Tasks to be performed has 2 priorities: high and normal; high priority tasks should be executed in preference
  • 74. High priority tasks include those not completed at the time the service had an unscheduled break
  • 75.
  • 76.
  • 77. For general review and analysis, development sign-off, regression test benchmarking, etc
  • 78.
  • 79. Agenda Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade Session II 4 Implements and Implementations 5 RM engine 6 Code generation Session III 7 Automated testing 8 Well known location paradigm
  • 80.
  • 81. Increases reusability: holons relevant to both online and batch type applications
  • 82. Advance Incident Diagnostic capability enabler
  • 84. Total cost benefitsHolon Y Holon A Holon P Holon Q Holon B Data elements in columns Test cases in rows Incident Diagnostic Information Collection Test Harness: 1 Bring in Unit under test 2 Create Data objects 3 Drive test data by row 4 Collect and insert back watch result 5 Time stamping for performance analysis Data access & staging in Well Known Location Data Object Data Objects 1 6 2 3 4 5 Unitunder test
  • 85. Agenda Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade Session II 4 Implements and Implementations 5 RM engine 6 Code generation Session III 7 Automated testing 8 Well known location paradigm 9 Quality cost
  • 86.
  • 87.
  • 88. The later in the Life Cycle Stage when one is found the costlier it will be
  • 89. The cost illustration does not include cost of consequential damagesCost to remove “bug” (note the non linear scale) System Requirement SystemVerification 100,000 Get the requirement right, first time, on time, every time, to curtail cost 10,000 Functional Requirement FunctionVerification 1,000 Component Requirement InteractionVerification 100 Program Requirement Implementation Verification 10 Life Cycle Stage when “bug” found Rollout Test Development Design Requirement
  • 90. Requirement MatrixConcepts & Implementation Building Quality Applications Questions? Thoughts to share? Session I 1 RM basic concepts 2 Key features 3 Precedence & cascade Session II 4 Implements and Implementations 5 RM engine 6 Code generation Session III 7 Automated testing 8 Well known location paradigm 9 Quality cost
  • 91. Let’s take a break 工欲善其事,必先利其器