Umbrella DB v 0 5 Project Report 2
Umbrella. DB v 0. 5 Project Report #2 Integrated Heterogeneous Data Source Access Eric Matson – MSE Kansas State University 12/26/2021 1
Agenda • • • Review Current State Object Model Design Diagrams Formal Requirements Software Quality Assurance Plan Test Plan Project Management/Control Summary and Questions 12/26/2021 2
Review - Purpose • Query heterogeneous data sources using standard SQL statements • Achieve database integration and access at the query level • Allow the data to be “black box” whereas users don’t need to have understanding to source, architecture, or technical details 12/26/2021 3
Review - Goals • • • Complete the Requirements of CIS 895 Successfully Navigate Software Engineering Process Prove Umbrella. DB Concept Prove Ability to Process Umbrella. DB Queries Create easy to use Graphical User Interface (GUI) 12/26/2021 4
Review - Description • Enter queries using standard SQL statements • Query heterogeneous data sources – Text Files – – Relational Databases Knowledge Base Formats Non-relational Databases ODBC Data Sources • Unify Data together as single relation 12/26/2021 5
Review – Architecture Parser API Umbrella GUI Splitter Router Unifier Profile Engine 12/26/2021 Relational Database D a t a C o n n e c t o r s Object Database TCP/IP Text File KB File Data Server Data Sources 6
Review - Scope • Functionality – – – Umbrella 0. 5 Query Engine Graphical User Interface (GUI) Data Servers for Text Data Sources Data Connectors SQL Select Statement in Limited Format • Data Sources – – Postgre. SQL: ANSI Compliant ORDBMS My. SQL: non-ANSI Compliant RDBMS Formatted Text Delimited Text 12/26/2021 7
GUI “Prototype” Toolbar Menu Data Project Info Node Info Status 12/26/2021 8
Current - Progress of Iterations • COMET Process – 3 iterations completed through the design phase • Good for developing the prototype • Hard for a large team – Communication requirements ex with number on project • Quick Results – good feeling of progress • Very good through the design process w/ Formal Methods – Created about 2000 lines of code • Mostly reusable • Some throwaway 12/26/2021 9
Current - Progress of “Formalities” • Instead of specifying Formal Requirements for single area – Complete Project • Each iteration drives “tightening” of design • Finding how much I don’t know about UML/OCL – – Experience may be the most valuable use of Formal Methods Continuously re-think the design Intrinsic value is in the “thought process” Filling “gaps’ in my weakest development area • Currently 600+ lines of OCL code…project to finish > 1000 • USE/OCL seems like a good combination – USE is easy to use (no pun intended) • Very intuitive – OCL is not hard to learn • Need more real examples • Not many resources – yet! 12/26/2021 10
Object Models - Tools • Unified Modeling Language (UML) • Poseidon for UML • Object Constraint Language • USE 12/26/2021 11
Class Model 12/26/2021 12
Design – General Activity 12/26/2021 13
Formal Requirements • • • • • • • • model Umbrella. DB class Connection attributes name : String tcpip. Number : String URLName : String port : Integer data. Srcs : Set(Data. Source) operations check. Connection(): Boolean make. Connection(): Boolean terminate. Connection(): Boolean end class Relational. Connection < Connection attributes db. Type : String JDBCDriver : String user. Name : String passwd : String operations Relational. Connection(name : String, tcpip. Number : String, URLName : String, port : Integer, db. Type : String, JDBCDriver : String, user. Name : String, passwd : String) end class Text. Connection < Connection attributes del. Text : Boolean for. Text : Boolean operations Text. Connection(name : String, tcpip. Number : String, URLName : String, port : Integer, del. Text : Boolean) end 12/26/2021 14
Formal Requirements • • • -- Constraints for CONNECTION Objects context Connection inv Size. Eighty: self. port > 8080 • • • context Connection: : make. Connection(): Boolean pre: (self. tcpip. Number. size > 0 ) or (self. URLName. size > 0) pre: self. port = 8189 pre: self. name. size > 0 post: result = true post: self. port = 8189 • • • context Connection: : terminate. Connection(): Boolean -- pre: -- none post: result = true • • • context Connection: : check. Connection(): Boolean -- pre: -- none post: result = true • • • -- Constraints for RELATIONAL CONNECTION Objects context Relational. Connection inv Size. Eighty. Rel: self. port > 8080 • • • -- Constraints for TEXT CONNECTION Objects context Text. Connection inv Size. Eighty. Text: self. port > 8080 context Text. Connection inv Choose. Type: self. del. Text <> self. for. Text 12/26/2021 15
Software Quality Assurance Plan • Quality is “…meeting specifications…” – Standard Verification and Validation topics – “Plan problems out of the project ahead of time…” • Planning to assure quality (CIS 748) • Plan – – – – Purpose : SOW, Goals Reference Documents : published Management : organization, tasks, responsibilities Documentation: documents and evaluation Standards, Practices Conventions and Metrics Reviews and Audits : 3 formal reviews / continuous audit Testing Problem Reporting 12/26/2021 16
Software Quality Assurance Plan • Plan (continued) – – – – Tools Techniques and Methodologies Code Control Media Control Supplier Control – outsourcing not an issue Records Training Risk Management • Some of these are topics we can think about but really aren’t very relevant for a project of this scope/size/organization dynamic 12/26/2021 17
Test Plan – COMET Model • Complete Formal Analysis will catch many issues – Full formal spec and testing will prevent many issues from creation • Unit Testing (continuous) – Done throughout the process – Several hundred tests • Very fined grained level • Integration Testing – 52 Positive (test success) specifications with multiple data sets – 52 Negative (test failure) specifications with multiple data sets • Some variables beyond control – Network or database failures (factor out of testing) 12/26/2021 18
Formal Technical Inspection • Intermediate Project Step – Next time, but before final presentation • Perform this on the Formal Specifications Documents 12/26/2021 19
Project Planning – Gantt Chart Sept Oct Nov Dec Jan Feb Mar Apr May Planning Req’s Modeling Throwaway Prototyping Analysis Mod. Design Mod. Incr. SW Const Incr. SW Integ. Incr. Prototyping Systems Testing Delivery Review #1 12/26/2021 Review #2 Review #3 20
Project Control – Change Mgmt. • Continuous through the iterations – Almost easier to not track on first 2 -3 iterations • Continuous change • Adds admin time • Spectrum: generate ideas to develop concrete solutions • On track with hours – Will go over time with the additional formal specification testing – Will save on the iterations later • Re-testing • Re-coding – Theory is there is balance “ in the force” later on 12/26/2021 21
Summary • Moving ahead well , as scheduled • Spend more time with Formal Methods • Next Steps – Questions – Feedback – Signoff – Proceed to Phase #3 12/26/2021 22
- Slides: 22