** notice! these materials are prepared only for the students enrolled in the course distributed...
TRANSCRIPT
**
NOTICE!• These materials are prepared only for the students enrolled in
the course Distributed Software Development (DSD) at the
Department of Computer Science and Engineering,
University of Mälardalen, Västerås, Sweden and at the Faculty
of Electrical Engineering and Computing, University of Zagreb,
Croatia (year 2013/2014).
• For all other purposes, authors’ written permission is needed!
• The purpose of these materials is to help students in better
understanding of lectures in DSD and not their replacement!
**
Requirement &
Design
Georgy Shabunin
Project Plan&
Status ReportDavid Riobó
**
Relsem Team
Ivan Lučin Georgy Shabunin
Michele Castellana Željko Kraljević David Riobo
Mladen Subotić
**
Outline
System Goal
Requirements
Design
Project plan
Project Status
System Goal
**
Use Case Models
Functional Requirements 1/2
Manager Web App Driver
• Viewing user’s schema;
• Selecting RDF endpoints;
• Creating relations;• Editing schema and
particular relations.
• Client App - Server App connect through JDBC postgres driver;
• PostgreSQL for transfering the query and result;
• Query parsing.
Functional Requirements 2/2
DBMS Semantic layer• Query validation;
• Simple SELECT statements;
• Inner join on multiple relations.
• Querying (SPARQL) remote and local data sources;
• Retrieve source meta-data;
• Extandable with heterogeneous, distributed sources.
**
Non-Functional Requirements
Usability
Reliability
Performance
**
Component Architecture
Step 1. Create DB schema definition.
Data Flow 1/2
Step 2. Deliver the required data to the Client App.
Data Flow 2/2
**
•DriverJDBC 4.1 JSR
•open source RDB driver specification
PostgreSQL protocol•protocol for server-client communication
ANTLR•SQL parse, syntax check and validation
•Semantic layerJena API
•Java RDF API for querying semantic data
SPARQL•query language for semantic data sources
Technologies and tools
•Manager back/front endJersey
•API for building RESTful web-services
javascript•front-end code
backbone.js•javascript structuring framework
require.js, underscore.js•dependency injection & utilities
HTML5, CSS•visuals
Technologies and tools
Agile Software Development
Week iterations(7)Steps:1. Detailed week plan2. Identify problems3. Design4. Implementation5. Testing6. Integration
Development methodology
First requirements, creating teams, separating jobs
MILESTONE /DELIVERABLE 1
MILESTONE/DELIVERABLE 2
Milestones
Milestone 1
•Communication Client/Server•Definition of interfaces•Basic functionalities for administration
•Basic parsing functionality•Application works with ad hoc data•Slightly behind schedule
• Integration of all layers•Data types support•All parsing functionality•All functional requirements are fully implemented
•Application works with real world data
Milestone 2
•Weekly documents•Deriverable documents•Minutes of Meeting•Weekly summary•Never delete documents!
Documentation
Activity plan 1
•Divergent project tracks•Project feasibility•Team members leave the project•Communication issues•Integration problems•Lack of experience•Team members miss meetings•Language misunderstanding
Project Risks
First iteration results
● Front-end, DBMS and semantic assignments finished as supposed
● Problems with the type 4 JDBC client-server connection.
Progress
Actions after first iteration/Second iteration
• Redistribution of work to finish the server-client part on the second iteration.• Connection of all parts.
• Test of functionality with mocked data.
Progress
Thank you for your attention! Questions?