Information Systems Laboratory Final Year Projects 2008-9 Dr Simon McGinnes Evangelos Kapros.

Post on 20-Dec-2015

217 views 0 download

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 johnstg@tcd.ie – Steven Mullen mullenst@tcd.ie

• Online Query Facility– Virgil Brouard brouardv@tcd.ie

• Online Image Selection Tool– Aidan Rooney rooneyai@tcd.ie– Anthony Nugent nugentan@tcd.ie– Anthony Wright wrightap@tcd.ie

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