Information Systems Laboratory Final Year Projects 2008-9 Dr Simon McGinnes Evangelos Kapros.
-
date post
20-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of Information Systems Laboratory Final Year Projects 2008-9 Dr Simon McGinnes Evangelos Kapros.
Information Systems LaboratoryFinal Year Projects 2008-9
Dr Simon McGinnesEvangelos Kapros
Projects
• Online Interactive Modelling Tool– Gordon Johnston [email protected] – Steven Mullen [email protected]
• Online Query Facility– Virgil Brouard [email protected]
• Online Image Selection Tool– Aidan Rooney [email protected]– Anthony Nugent [email protected]– Anthony Wright [email protected]
Outline
• Overall research project– “Adaptive Information Systems”– Software with changeable conceptual model
• Based on principle of conceptual data independence– Structure of application is unrelated to the
business concepts it implements
Example: Order Processing System• Separate forms:
– customer list, new customer, edit customer, product list, new product, edit product, etc.
• Separate database tables– Customer, Product, Order, Delivery, etc.
• May also be queries, reports, middleware objects, etc.
• Each item must be created by hand• The business concepts are embedded in the
software design at several levels= Conceptual data dependence
Example
Example
Example
Example
Example
Why Are Applications Designed Around Business Concepts?
• CODASYL databases (1960s)• Codd (1971)
– Relational database– Data normalisation
• Chen (1976)– Entity-relationship (E-R) modelling
• OO class diagrams (1980s)• XML and semantic web (1998)• All of these techniques push developers towards
conceptual data dependence
• A relatively simpleE-R diagram
• Most organisationshave much morecomplex conceptualmodels
The Downside• It takes a long time to build each part of each
application by hand• It requires great expertise• It is an error-prone process
– Systems can be unreliable– Exhaustive testing is expensive
• That’s why software is expensive!• Also, once created, applications cannot easily be
altered– Too expensive, and too likely to ‘break’ the system
But Why Would You Want to Modify a System?
• In reality:– Customers don’t know what they want until they
see (and use) something– Developers misunderstand the business concepts
first time around– Businesses evolve all of the time
• New ways of working• New products• Mergers and acquisitions
• Systems have to try to keep pace
An Alternative to Conceptual Data Dependence?
• Build applications in a way that ignores the business concepts they implement– When the concepts change, the application
doesn’t have to– You could build a new application just by
specifying its concepts– Quicker, safer, cheaper!– Less skill required – empowers non-IT specialists
How?
• Use ‘soft schemas’– In a traditional application, the schema (database
table structure) is ‘hard’ (fixed at design time)– In an adaptive IS (AIS), the schema is ‘soft’ (stored
as data and interpreted at run time)
• XML is an ideal medium for soft schemas• It is also a good medium for storing data in a
concept-independent way
AIS Architecture
Application server (TomCat) running on server hardware
Generic ApplicationServer Component
(Java servlet)
ConceptualModel(XML)
Server
Business end user
Modeller
Web browser running on client hardware
Generic ApplicationUser Interface Component
(SWF)
Laptop
Modeller
XML data fileresiding on a file server
Data file(XML)
Server
Data file(XML)
Model file (XML)Data chunk (XML)
Updated datafile (XML)
Request for modelRequest for data
Model file (updated)Data chunk (updated)
AIS User Interface (Adobe Flex)
10..*
+load()+save()+validate()
-conceptualModel : ConceptualModel-mainPanel : Panel-conceptPanels : Panel
GenericApplicationUI
10..1
1
0..*
0..1 1
0..1 1
1
*
view
model
+display()+close()
-title-icons : IconControl
view::Panel
-conceptId
view::ConceptPanel
+display()+select()
-label-icon-showMany-showSelector-position-itemId
view::IconControl
1
0..*
+load()+save()+validate()
-title-dateUpdated-version-author-iconPath-notes-concepts : Concept
model::ConceptualModel
-id-name-pluralName-notes-categoryId-iconPath-items : ConceptItem
model::Concept
10..*
-id-name-position-mandatory-selectorPosition
model::ConceptItem
10..*
-conceptId-allowMany-verbPhrase-collectiveTerm
model::RelatedConcept
-_1 0..*-_1 1
+validate()
-id-formatId-iconPath
model::Attribute
modelling
+showItem()
-id-name
modelling::AttributeType
+showItem()+showList()
-id-name
modelling::Category
query
+formatValue()
-id-name-TypeId
modelling::Format
0..* 10..* 1
+compare()
-type-value
query::Filter
+compare()
-operator
query::FilterType
0..*
1
+load()+save()+execute()
-title-author-dateUpdated-items
query::Query
-position-conceptId-attributeId-formatId-sortOrder-sortPosition
query::QueryItem
0..*
0..1
1 0..*
0..*1
1
*
0..*
1
AIS User InterfaceInternal Structure:
Modelling/Querying
Modelling Concepts With Icons
Relationships Between Concepts
Example – Further Education System
Resulting Application
Concept Categories
Choosing Icons
Choosing Icons
What Makes a Good Icon?
• Right level of generality
• Simplicity
(a) Less general (b) More general
Searching for Icons
Broaden search by extending
to subclass
Broaden search by extending to
superclass
Narrow search by
restricting to subclass
Animal
Dog Cat
Terrier PersianSpaniel
Broaden search by extending to
related class
Relaxing Ontological Constraints to Find Related Concepts
Querying an AIS
• Specify what you want by selecting icons
Processing Queries
Application server (TomCat) running on server hardware
Generic ApplicationServer Component
(Java servlet)
ConceptualModel(XML)
Server
Business end user
Modeller
Web browser running on client hardware
Generic ApplicationUser Interface Component
(SWF)
Laptop
Modeller
XML data fileresiding on a file server
Data file(XML)
Server
Data file(XML)
Model file (XML)Data chunk (XML)
Updated datafile (XML)
Request for modelRequest for data
Model file (updated)Data chunk (updated)
What Next?
• Get up to speed on– Adobe Flex (ActionScript)– XML– Entity-relationship modelling– UML
• Particularly class diagrams– Human-Computer Interface (HCI) & usability– Agile development methods
• I will provide some references
Then
• Information specific to your project• Meetings next week• Project plans• Decide on roles• Requirements document• Iterative development and testing
– Start small and grow