200 likes | 367 Views
Database Java Beans. Feng Chen. Outline. Design (diagrams) Formal specification (OCL model) Software quality assurance plan Test plan Formal technical inspection. Design. Use case diagram Class diagram Sequence diagram . Design – Use case diagram. Design – Class diagram.
E N D
Database Java Beans Feng Chen
Outline • Design (diagrams) • Formal specification (OCL model) • Software quality assurance plan • Test plan • Formal technical inspection
Design • Use case diagram • Class diagram • Sequence diagram
Design – Class diagram • DatabaseConnection Bean • DatabaseTable Bean • DrawChart Bean • CopyFile Bean
Formal specification-- OCL model Connection Bean extend JPanel Visualfields: JDBCDriver : String Default[oracle.jdbc.driver.OracleDriver] DatabaseURL : String Default[jdbc:oracle:thin:@oracle.cis.ksu.edu:1521:ORACLE] Username : String Default[null] Password : String Default[null] Tablename : String Default[null] Control : connectionButton : JButton Properties : connectToTable : Boolean Default[false] connectToFile : Boolean Default[false] connectToChart : Boolean Default[false] inv correctInput : valid(username, password) & valid( DBUrl) implies isopen(connection) inv unique username: user.allInstances -> (forAll(c1, c2 | c1 <> c2 implies c1.username <> c2.username) Operations context ConnectionBean::setInputValue(DBUrl : String , Username : String , Password : String ) pre: true post: not valid(username, password , DBURL ) implies ErrorDialog context ConnectionBean::getConnect() pre : self.connection -> not exist post: self.connection-> exist & self.connection = connectionClass.getConnection()
Formal specification--OCL model (cont’) DBtableBean : extends JTable Visual component: databaseTable : JTable default[empty] updateButtons : Jbutton default[not selected] Control: insertButton : Jbutton deleteButton : Jbutton UpdateButton : Jbutton Instance variables: Connection: Connection tableModel: DafaultTableModel rowVectors: Vector inv coonection = null implies table->empty operations: context DBtableBean::usingTableBean(connection:Connection, tablename : String) pre: table->empty & tablename->empty post: (not tablename -> empty) & table = select * from tablename context DBtableBean::insertNewRecord( newRecord:Record) pre: !table.include(newRecord)&!database.include(newRecord)& !newRecord->exist pos: table.include(newRecord)& database.include(newRecord)& newRecord->exist context DBtableBean::deleteRecord() pre: table.include(oldRecord)&database.include(oldRecord)& oldRecord->exist pos: !table.include(oldRecord)&!database.include(oldRecord)& !oldRecord->exist
Formal specification--OCL model (cont’) drawChartBean extend Jpanel visual component: BarChartPanel : Jpanel PieChartPanel : Jpanel DrawChartButton: JButton Controls : DrawChartButton: Jbutton Descriptor : nameTo : Boolean : Default[1] numbers : Boolean : Default[1] instance state variable: connection : Connection rowVector : Vector inv: connection=null implies ChartPanels->empty operation context drawChartBean::usingDrawChartBean(tableName:String) pre:true pos: PieChart = (select * from tableName) & BarChart= (select * from tableName)
Formal specification-- OCL model (cont’) CopyfileBean Visual component: Filepath : JTexField ViewFileArea : JTextArea ViewButton : Jbutton SaveButton : Jbutton Control: ViewButton : Jbutton Default[not selected] SaveButton : Jbutton Default[not selected] Operation: context CopyFileBean::useingCopyFileBean(recordsfromfile:Record[]) pre: !database.include(recordsfromfile) & ! recordsfromfile->exist pos: database.includ(recordsfromfile) & recordsfromfile->exist
SQA plan • Purpose • References • Management • Documentations • Standard, Practices, Conventions, and Metrics • Review and Audits • Test, Tools, Techniques, and Methodologies • Problem Reporting and Corrective Action • Training • Risk Management
SQA plan– Phase III documentation deliverables • Web tutorials (general concepts) • Installation guidance • Reusable parts
Test plan – test cases • DatabaseURL • DatabaseDriver • Logon • Update the data information • Delete unwanted product from table • Use database table bean • Use draw chart bean • Use Copy File bean • To use the Draw Chart bean
References • “Software Formal Inspections”, Software Assurance Technology Center (SATC), 1997, http://satc.gsfc.nasa.gov/fi/fipage.html • “NASA Software Formal Inspections Guidebook”, NASA,1993, http://satc.gsfc.nasa.gov/Documents/fi/gdb/fitext.txt • Weiss and Kimbrough Inspection Materials, A. R. Weiss and K. Kimbrough, 1995, http://www2.ics.hawaii.edu/~johnson/FTR/Weiss/weiss • IEEE Standard for Software Test Documentation, IEEE Std 829-1983 • IEEE Standard for Software Quality Assurance Plans, ANSI/IEEE Std 730-1989 • IEEE Guide for Software Quality Assurance Planning, DRAFT, P730.2/D4