What we used and learned on SS Courses within Person Project

Post on 15-Jan-2016

23 views 0 download

description

What we used and learned on SS Courses within Person Project. Anton Butenko & Vsevolod Tarasov 30.08.12. Introduction. My name is Anton Butenko I was born in 1983 I’m working in a small typography, as designer I like reading, music, bicycles and automate things. Introduction. - PowerPoint PPT Presentation

Transcript of What we used and learned on SS Courses within Person Project

Anton Butenko & Vsevolod Tarasov 30.08.12

What we used and learned on SS Courses within Person

Project

Introduction

My name is Anton Butenko

I was born in 1983

I’m working in a small typography, as designer

I like reading, music, bicycles and automate things

Introduction

My name is Vsevolod Tarasov

I was born in 1990

Graduated DNURT 2012 / technical cybernetics faculty

I do not have a permanent job at present

My hobbies are skating, chess, yachting, boxing

Person Evolution

1.Realization of Create and Read functions2. Manual serialization

1.Realization of all CRUD

1.Realization of all CRUD through Client - Server application2. Manual CRUD with DB and manual serialization3. HTTP/TCP versions of clients/servers4. 3 types of Clients(Mobile, App, WEB)

1.Person with Contacts and Addresses 2. Serialization through XML document3. Server on WCF4. Entity Framework for DB5. 4 Clients (WPF, Mobile, WEB, App)

Person Evolution

Person Evolution

• Child classes was removed• Manual Serialization/

Deserialization was Implemented for network transmission(something like SOPA)

• Client-server implementation of CRUD added

+ Picture+ MemoField

Additional Properties was added

Person Evolution• 3 types of client added

Person Evolution• Integration with Java was made• HTTP realization of Person was

made

Person Evolution

• Serialization through XML Serializer added

• Contacts and Addresses into Person class added

• Integration with java Was aborted

Person Evolution

• New technologies where used (WCF, Entity Framework)

• WPF client was added

Person projectused technologies

• Subversion Control SVN

• Silverlight

• Windows Presentation Foundation (WPF)

• Windows Communication Foundation (WCF)

• Entity Framework (connected to MSQL Server)

• Continuous Integration

• Testing Tools

• ASP .NET

• AJAX

• HTML+Javascript

• Patterns(MVC/MVP/MVVM)

• UML

Subversion Control (SVN)

Before After

Subversion Control (SVN)

Pros Cons

•Easy control over different source code steps of development process

•One click update/commit

•Clean and small usage of HDD space

•Use of third party system integrated software

•Unreachable data if you have no network access

•Uncommitted files by developers

UML Diagrams

Pros Cons

•Understanding how your project works

•Time economy on team projects

•Good steps plan for work

•Possibility to look through and clearly see “HOW IT WORKS”

•Extra time for modeling

•Not always needed due to simplicity of the project

UML DiagramsResulted Class diagram

Mockups

Pros Cons

•Clear Understanding of how your interface will look like

•Clearing all uncertainties in the beginning of project

•Time economy at finish steps

•Use of third-party software

•Extra time on mockups projecting

Mockups

Person mockups

Entity Model

Primary Keys

Foreign keys

Entity Framework

Pros Cons

• Simple start to work coz of msdn help I great

• Easy access to Database

• Easy mapping of associations between Entities

• Easy modeling

• Shadow copy of Entities for use outside Server side is needed

• Configuration files of Application that uses Entity must be edited manually

• Lot`s of environmental conditions to run correctly

Entity Framework

Before: After:

MVC pattern

Pros Cons

• Clear dependencies between project parts

• Good testability

• Code minimizing in project parts(classes)

• Hard to define dependencies at first

• Lots of additional classes in project

• Development problems if dependencies between main parts are changed

Continuous Integration

Pros Cons

• Nightly Builds (Timed Scheduler)

• Gathers metrics and code analysis then shows data in graphics within time span

• Configurable Testing Environment

• Limited support for testing in C#, Gallio must be used instead of other tools.

• Greatly reduced .NET capabilities because Gallio uses obsolete libraries

Hudson+Sonar

Pros Cons

• Same as Hudson+Sonar tandem

• Easy configurable• Average usage of computer

resources

TeamCity

Windows Communication Foundation

Pros Cons

• Easy to use connection between client\server like referenced library

• Automatic Serialization\ Deserialization of Custom Classes

• Custom Classes must be redesigned for use in WCF

• Not all configuration data generated through Wizard.

• Some Research needed to start work with WCF

Core Model Used Technologies

MSQL

EntityFramework

ManualHTTP/TCP

Server

WCFService

Win Forms/WPFClient

•WCF•HTTP/TCP•Entity Framework

ASP.NETService

HTTP/JScriptClient

Win Phone Client

•WCF•HTTP/TCP•WPF

•WCF•HTTP/TCP•AJAX

•WCF•HTTP/TCP•Silverlight

•Continuous integration under Teamcity with use of NUnit and SVN

VirtualMachine

Resulted Clients

Application client with Server

Resulted Clients

WEB client

Resulted Clients

WPF client

Resulted Clients

Windows Phone client

Summary

Skills:

Basic Understanding of TCP\HTTP protocol

WPF\Silverlight WCF Service Data Binding ER-model/Entity framework Hudson+Sonar/Teamcity Unit Testing/AutoTesting Basic Understanding of patterns Team development Subversion control usage

Our source codes for this project can be found at:

https://client-derver-game.googlecode.com/svn/trunk

Anton Butenko

Skills:

Basic Understanding of TCP\HTTP protocol

Silverlight WCF Service Data Binding ER-model/Entity framework Hudson+Sonar/Teamcity Unit Testing/AutoTesting Basic Understanding of

patterns Team development Subversion control usage

Vsevolod Tarasov

Thank you

Questions?