4/16/2004mse presentation ii1 estmd system -- a web-based est model database system yinghua dong

25
4/16/2004 MSE Presentation II 1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

Upload: shona-francis

Post on 30-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 1

ESTMD System-- A Web-based EST Model Database

System

Yinghua Dong

Page 2: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 2

Outline Project Review

Architecture Design

Formal Requirement Specification

Test Plan

Formal Technical Inspection

Project Status

References

Acknowledgments

Page 3: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 3

Project Review

Objective

Build a web-based, user-friendly

Expressed Sequence Tags model

database (ESTMD) system to help

biologists search expression sequences

and related information to make further

decisions

Page 4: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 4

Architecture Design-- Use Case Diagram

User GO Classification

Pathway

Download

Data Submission

Search by Keyword Contig View

Gene Ontology Tree View

Diagram: Use CaseProject: ESTMD SystemAuthor: Yinghua Dong

Login

Search in Detail

Page 5: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 5

Architecture Design-- Main Object Model (1)

Diagram: Main Object Model (1)Project: ESTMD SystemAuthor: Yinghua Dong

LoginError<<Client Page>>

Login<<Client Page>>

DataBase

Web Interfaces

DataModule

CommonWork

printHtmlHeader() : voidprintHtmlFooter() : voidResults

Servlets

<<submit>>

<<build>>

Page 6: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 6

Architecture Design-- Main Object Model (2)

Diagram: Main Object ModelProject: ESTMD SystemAuthor: Yinghua Dong

Downloads

LoginError

Login

<<text>> User name<<password>> Password<<submit>> Login<<reset>> Clear

j_security_check()onClickLogin()onClickClear()

<<Client Page>>

Search in Detail

Search by Keyword

Gene Ontology

GO Classification

Pathway

Data Submission

CommonWork

printHtmlHeader() : voidprintHtmlFooter() : void

Sdetail

Skeyword

goServlet

go_classServlet

pathwayServlet

submitServlet

DataBase

DataModule

myDM : DataModuledatabase1 : DatabasequeryDataSet1 : QueryDataSet

DataModule() : voidexecuteQuery() : voidgetDataModule() : DataModulesetQueryString() : voidjbInit() : void

Page 7: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 7

Architecture Design-- Object Model of Search In

DetailDiagram: Sdetail Object ModelProject: ESTMD SystemAuthor: Yinghua Dong

ValidateSdetail

name : StringID : String

validateForm()

<<JavaScript>>

Search in Detail

onClickSubmit()onClickReset()

<<Client Page>>

DataBase

SdetailForm

<<drop_down box>> geneName<<text>> name<<drop_down box>> SeqID<<text>> ID<<drop_down box>> lab<<drop_down box>> organism<<checkbox>> geneSymbol<<checkbox>> fullname<<checkbox>> checkLab<<checkbox>> checkOrganism<<checkbox>> institute<<checkbox>> tissue<<checkbox>> fbID<<checkbox>> gbID<<checkbox>> accession<<checkbox>> cloneID<<checkbox>> rawSeq<<checkbox>> cleanedSeq<<checkbox>> vector<<checkbox>> uniSeq<<checkbox>> length<<checkbox>> evalue<<checkbox>> hitLen<<checkbox>> score<<checkbox>> identity<<submit>> Submit<<reset>> Reset

<<Form>>

SdetailResult

labName : Stringorganism : Stringinstitute : StringtissueType : StringuniseqID : StringuniseqLen : Stringuniseq : StringflybaseID : Stringsymbol : StringgeneName : StringgeneBankID : StringncbiLink : StringaccessionID : Stringevalue : StringhitLength : StringbitScore : Stringidentity : StringcloneID : StringrawSeq : StringrawLength : StringcleanedSeq : StringcleanedLen : Stringvector : String

<<Client Page>>

DataModule

CommonWork

Sdetail

geneName : Stringname : StringSeqID : StringID : Stringlab : Stringorganism : String

doGet()doPost()getQueryInputs()executeQuery()setQueryResults()

<<Server Page>>

<<submit>> <<build>>

Page 8: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 8

Architecture Design-- Object Model of Search By

KeywordDiagram: Skeyword Object ModelProject: ESTMD SystemAuthor: Yinghua Dong

ValidateSkeyword

name : String

validateForm()

<<JavaScript>>

RawseqResult

cloneID : StringcloneSeq : String

<<Client Page>>

CleanedResult

cloneID : StringcleanedSeq : String

<<Client Page>>

UniseqResult

uniID : StringuniSeq : String

<<Client Page>>

Search by Keyword

onClickSubmit()onClickReset()

<<Client Page>>

ContigView<<Client Page>>

SkeywordForm

<<drop_down box>> search<<text>> name<<drop_down box>> lab<<drop_down box>> organism<<submit>> Submit<<reset>> Reset

<<Form>>

SkeywordlResult

uniseqID : StringuniseqLen : Stringsymbol : StringgeneName : StringcloneID : StringrawLength : StringcleanedLen : String

onClickRawLen()onClickCleanedLen()onClickUniseqLen()onClickContigview()

<<Client Page>><<link>>

CommonWork

Skeyword_cseq

cloneID : StringcloneSeq : String

executeQuery()setQueryResult()

<<Server Page>>

<<build>><<link>>

Skeyword_eseq

cloneID : StringcleanedSeq : String

executeQuery()setQueryResult()

<<Server Page>>

<<build>>

<<link>>

Skeyword_useq

uniSeqID : StringuniSeq : String

executeQuery()setQueryResult()

<<Server Page>>

<<build>>

<<link>>

Skeyword

search : Stringname : Stringlab : Stringorganism : String

doGet()doPost()getQueryInputs()executeQuery()setQueryResult()

<<Server Page>>

<<submit>>

<<build>>

DataBase

DataModule

Page 9: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 9

Architecture Design-- Object Model of Gene

OntologyDiagram:Gene Ontology Object ModelProject: ESTMD SystemAuthor: Yinghua Dong

ValidateGO

name : StringID : Stringterm : StringseqFile : String

validateForm() : boolean

<<JavaScript>>

treeViewResult

go_name

<<Client Page>>

UniseqResult<<Client Page>>

Gene Ontology

onClickSubmit()onClickReset()

<<Client Page>>

treeViewServlet

inputdoc : Documentinputroot : ElementtFactory : TransformerFactoryxsltemplate : Template

init() : voiddoGet() : voiddoPost() : voidcopyvalue(Element e) : Elementfind(Element e, String goid, Vector allmtchele) : voidfindallmatch(String goid, Vector allmtchele) : Vectorbuildsubtree(Element e, Stack s, Element go) : voidwritesubtree(Stack s, Element go) : void

<<Server Page>>

<<build>>

DataBase

Skeyword_useq<<Server Page>>

<<build>>

GOForm

<<drop_down box>> geneName<<text>> name<<drop_down box>> seqID<<text>> ID<<text>> term<<file>> seqFile<<radio>> type<<radio>> sort<<submit>> Submit<<reset>> Reset

<<Form>>

goResult

uniseqID : StringuniseqLen : Stringsymbol : StringgeneName : StringcloneID : StringrawLength : StringcleanedLen : String

onClickTreelink()onClickUniseqID()

<<Client Page>>

<<link>>

<<link>>

DataModuleCommonWork

goServlet

geneName : Stringname : StringseqID : StringID : Stringterm : Stringtype : Stringsort : StringseqFile : String

doGet()doPost()getQueryInputs()executeQuery()setQueryResult()

<<Server Page>>

<<submit>> <<build>>

Page 10: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 10

Architecture Design-- Object Model of GO

ClassificationDiagram: GO Classification Object ModelProject:ESTMD SystemAuthor: Yinghua Dong

Search in Keyword

ValidateGOclass

name : StringID : Stringterm : StringseqFile : String

validateForm()

<<JavaScript>>

goclass_seqResult

seqID : String

onClickSeqID()

<<Client Page>>

GO Classification

onClickSubmit()onClickReset()

<<Client Page>>

DataBase

goclass_seq

seqID : String

doGet()doPost()

<<Server Page>>

<<build>>

GOclassForm

<<textarea>> geneName<<file>> seqFile<<checkbox>> molecular<<checkbox>> biological<<checkbox>> celluar<<submit>> Submit<<reset>> Reset

<<Form>>

goclassResult

type : Stringsubtype : Stringseq_count : Stringpercent : String

onClickSeqcount()

<<Client Page>>

<<link>>

DataModuleCommonWork

goclassServlet

geneName : StringseqID : StringID : Stringterm : Stringtype : Stringsort : StringseqFile : String

doGet()doPost()getQueryInputs()executeQuery()setQueryResult()

<<Server Page>>

<<submit>> <<build>>

<<link>>

Page 11: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 11

Architecture Design-- Object Model of Pathway

SearchDiagram: Pathway Object ModelProject: ESTMD SystemAuthor: Yinghua Dong

ValidatePathway

name : StringID : Stringterm : StringseqFile : String

validateForm()

<<JavaScript>>

pathway_nameResult

ecnumber : Stringname : String

<<Client Page>>

UniseqResult<<Client Page>>

Pathway

onClickSubmit()onClickReset()

<<Client Page>>

DataBase

pathway_name

ecnumber : Stringname : String

doGet()doPost()

<<Server Page>>

<<build>>

Skeyword_useq<<Server Page>>

<<build>>

PathwayForm

<<drop-down box>> geneName<<text>> name<<drop-down box>> seqID<<text>> ID<<drop-down>> ec<<text>> text_ec<<file>> seqFile<<radio>> sort<<radio>> scope<<submit>> Submit<<reset>> Reset

<<Form>>

DataModule

pathwayResult

pathwayName : Stringcategory : StringuniseqID : Stringcount : Stringecnumber : String

onClickUniseqID()onClickPathwayName()

<<Client Page>>

<<link>>

<<link>>

CommonWork

pathwayServlet

pathwayName : Stringcategory : Stringuniseq ID : Stringecnumber : Stringcount : Stringsort : StringseqFile : String

doGet()doPost()getQueryInputs()executeQuery()setQueryResult()

<<Server Page>>

<<submit>> <<build>>

Page 12: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 12

Architecture Design-- Sequence Diagram of Gene

Ontology

: User : Gene Ontology : goServlet : DataModule : CommonWork

Diagram: Sequence Diagram of Gene Ontology

Project: ESTMD SystemAuthor: Yinghua Dong

onClickSubmit( )

validateForm()

doGet()

getQueryInputs( )

setQueryResults()

getDataModule()jbInit()

executeQuery()

setQueryString()

printHtmlHeader()

printHtmlFooter()

Page 13: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 13

Architecture Design-- Sequence Diagram of GO Tree

View

: User : goResult : treeViewServlet

Diagram: Sequence Diagram of GO Tree View

Project: ESTMD SystemAuthor: Yinghua Dong

onClickTreelink()

doGet()

findallmatch( )

writesubtree()

find( )

buildsubtree( )

Page 14: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 14

Formal Requirement Specification

-- Overview

Language: Alloy 1.1 -- a structural modeling language

based on first-order logic

Tool: ACA (Alloy Constraint Analyzer)

Purpose: explore abstract software designs,

simulate execution of operations,

and check user-specified properties of a model

Scopes: Gene Ontology Query and

Gene Ontology Tree Generation

References: Dr. John Hatcliff, CIS 771 Lectures

Alloy web site, http://sdg.lcs.mit.edu/alloy

Page 15: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 15

FRS (cont’d)-- For Gene Ontology Query

The user who submits a form is the user who gets the form's query result. all f : Form | f.whoPut = f.query.whoGet

The link belongs to the result which its corresponding output item belongs to. all l : Link | l.linkedBy in l.linkBelongTo.includeOutputItem

The input item is written by the user who put the corresponding query form. all ii: InputItem | ii.belongToUser=ii.belongToForm.whoPut

Page 16: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 16

FRS (cont’d)-- For Gene Ontology Query

Each sequence ID links to a sequence linkall oi: OutputItem |

oi /in SequenceID <-> oi.linkTo /in Sequence_link

Each GOID links to a tree link all oi: OutputItem |

oi /in GOID <-> oi.linkTo /in TreeView_link

Detail Document

Page 17: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 17

FRS (cont’d)-- For Gene Ontology Tree

Generation No Item is its own ancestor.

no i: Item | i in i.+parents There is exactly one Root in each tree.

one i: Item | i /in Root Each item except Root is Root's descendant.

all i: Item - Root | Root in i.+parents Root has no parents or ancestor

all r: Root | no r.+parents Leaf has no children or descendant

all l: Leaf | no l.+children NonLeafItem must have at least one parent and at

least one child.all nl: nonLeafItem | some nl.parents && some nl.children

Page 18: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 18

FRS (cont’d)-- For Gene Ontology Tree

Generation Operation – Add a new Item in the tree

op AddItem (l: Leaf'!) {// pre-conditionl !in Item

// post-conditionItem' = Item + lall p: l.parents' | p in Item

// frame-conditionRoot' = Rootall i: Item | i.parents' = i.parents

}

Detail Document

Page 19: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 19

Test Plan

Test Phases: Unit testing, Integration testing, and System

testing

Test Items: Connection between server and database Each page

Test Features: Features to be tested: each function Features not to be tested: quality of the data

Page 20: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 20

Test Plan (cont’d) Methodology:

Functional testing (Black box) method

Pass/Fail Criteria

The system will pass if the authentication works

correctly and if the results from the queries are

displayed within one minute.

Otherwise the test will fail and the code will be

revised.

Deliverables:

Test plan, Test case specification, and Test result

Detail Document

Page 21: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 21

Formal Technical Inspection Purpose

To ensure consistency in the software development life cycle

and quality of the software requirements

Organization Developer: Yinghua Dong

Inspectors: Acharaporn Pattaravanichanon (Ann) and Zhigang Xie

Software Inspection Checklist

* Completeness * Consistency * Correctness

* Feasibility * Modifiablility * Traceability

* Understandability * Clarity * Functionality

* Reliability

Detail Document

Page 22: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 22

Project Status

Finished:

Documentation: 1/2 of the whole project

Implementation: About 1/3

Future Work:

Implementation: 2/3 workload

Documentation: User Manual, Test Report, and

Evaluation

Final Presentation

Page 23: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 23

References Modeling Web Application Architectures with UML, Jim Conallen,

http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/webapps.pdf

Software Formal Inspections, Software Assurance Technology Center (SATC), 1997, http://satc.gsfc.nasa.gov/fi/fipage.html

Software Requirements, 2nd Edition, Karl Wiegers, Microsoft Press, 2003, http://www.processimpact.com/process_assets/requirements_review_checklist.doc

Software Engineering: A practitioner’s Approach, 5th Edition, Roger. S. Pressman,

Alloy web site, http://sdg.lcs.mit.edu/alloy

CIS771 lecture, Dr. Hatcliff

CIS 540, CIS 841 lecture, Dr. Gustafson

Page 24: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 24

Acknowledgments

Committee:

Dr. Mitchell L. Neilsen

Dr. Gurdip Singh

Dr. Daniel Andresen

Page 25: 4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong

4/16/2004 MSE Presentation II 25

Suggestions and Comments

Thank You!