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!
**
Distributed Software Development
**
Requirement &
Design
Georgy Shabunin
Project Plan&
Status ReportDavid Riobó
Георгий Шаб
All the slides will be visually corrected at the end, now it's all about the content and idea
**
Relsem Team
Ivan Lučin Georgy Shabunin
Michele Castellana Željko Kraljević David Riobo
Mladen Subotić
Marin Orlić
Please talk about Rafael leaving the team here
Marin Orlić
Mention the project roles
**
Outline
System Goal
Requirements
Design
Project plan
Project Status
Marin Orlić
There's no need for this much detail in an outline, keep this for internal use but for presetnation make a shorter version with just a few points and do not waste much time on this during presentation
System Goal
Marin Orlić
The text here might be unreadable. Last time you had text in the architecture diagram, only the top 2 levels of text were readable in Zagreb
**
Use Case Models
Marin Orlić
Text could be too small
Marin Orlić
Figure overlaps title (this is next phase, i know .)
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.
Marin Orlić
Client app is connecting to server with PostgreSQL network protocol, but the client uses JDBC driver for this
Marin Orlić
I'm not sure ANTLR was a requirement, more of a design choice
Marin Orlić
This will need to explained, mention how will the requirement be tested (for instance, for PostgreSQL req, you can say that a standard JDBC driver for pgsql will be used, to test the server-side implementation of the protocol)
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
Marin Orlić
How will you verify if NF reqs are met?
**
Component Architecture
Marin Orlić
Only box titles were readable last time in ZG. Can you put just the figure on the slide?
Георгий Шаб
Can we not put the FER-Polimi-MDH signature below the slide?
Step 1. Create DB schema definition.
Data Flow 1/2
Георгий Шаб
thats what this DFD is about
Marin Orlić
Isn't manager app responsible for creation of DB schema definition?
Георгий Шаб
it is
Marin Orlić
Put step 1. in the title with a shorter description?
Step 2. Deliver the required data to the Client App.
Data Flow 2/2
Marin Orlić
nice figures, though :)
Marin Orlić
This might be unreadable too... perhaps split into two figures (steps 1-4, steps 5-8)?
GUI
**
•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
Георгий Шаб
Some label pictures here
Marin Orlić
On this and next slide - add explanations, what each of these tech do? you got a comment for that on the first presentation
Do you have proof of the steps for the first two iterations? If not, why :)
First requirements, creating teams, separating jobs
MILESTONE /DELIVERABLE 1
MILESTONE/DELIVERABLE 2
Milestones
David Riobó
2nd one, in progress
David Riobó
1st one, all parts integrated communicating with mocked data
Marin Orlić
What will you say here?
Marin Orlić
For each milestone, you need to list what should be done - what juraj said last time, if you can't measure the progress at a milestone, there's no point
Milestone 1
Milestone 1
•Communication Client/Server•Definition of interfaces•Basic functionalities for administration
•Basic parsing functionality•Application works with ad hoc data•Slightly behind schedule
Milestone 2
• 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
Marin Orlić
Documentation policy? Can you mention that gdocs is used, and deliverables are pushed to fer web?
Activity plan 1
Marin Orlić
somewhere :) this pres. was meant to be about project status and revised plan, so you should talk about that also
David Riobó
Do we have to put that here?
Marin Orlić
What has changed in the project plan? for instance, for the first iteration you should have more details now (it's finished), and an overall idea what will be done in the second iteration
Activity plan 2
Activity plan 3
•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
Marin Orlić
Mitigation?
First iteration results
● Front-end, DBMS and semantic assignments finished as supposed
● Problems with the type 4 JDBC client-server connection.
Progress
Marin Orlić
Milestone? what was finished/delivered? is project on track?
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?
Георгий Шаб
Some question pic here
Marin Orlić
Project status is missing, how many hours have been used, where are you according to the plan (progress), what is planned for the next iteration, what are you working on now, how is the work distributed, what are the problems, did you have to make or change any architectural decisions? how did you cope with a loss of one team member? what about the problems you had which were discussed last time, did you manage to overcome them? what did you do to overcome them, how will you avoid to have it happening again?i expect you'll get a lot of questions like these, it's better to talk about it openly :)
Marin Orlić
There was also a change in project management, you need to mention that too