What we used and learned on SS Courses within Person Project

30
Anton Butenko & Vsevolod Tarasov 30.08.12 What we used and learned on SS Courses within Person Project

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

Page 1: 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

Page 2: 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

Page 3: What we used and learned on SS Courses within Person Project

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

Page 4: What we used and learned on SS Courses within Person Project

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)

Page 5: What we used and learned on SS Courses within Person Project

Person Evolution

Page 6: What we used and learned on SS Courses within Person Project

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

Page 7: What we used and learned on SS Courses within Person Project

Person Evolution• 3 types of client added

Page 8: What we used and learned on SS Courses within Person Project

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

made

Page 9: What we used and learned on SS Courses within Person Project

Person Evolution

• Serialization through XML Serializer added

• Contacts and Addresses into Person class added

• Integration with java Was aborted

Page 10: What we used and learned on SS Courses within Person Project

Person Evolution

• New technologies where used (WCF, Entity Framework)

• WPF client was added

Page 11: What we used and learned on SS Courses within Person Project

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

Page 12: What we used and learned on SS Courses within Person Project

Subversion Control (SVN)

Before After

Page 13: What we used and learned on SS Courses within Person Project

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

Page 14: What we used and learned on SS Courses within Person Project

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

Page 15: What we used and learned on SS Courses within Person Project

UML DiagramsResulted Class diagram

Page 16: What we used and learned on SS Courses within Person Project

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

Page 17: What we used and learned on SS Courses within Person Project

Mockups

Person mockups

Page 18: What we used and learned on SS Courses within Person Project

Entity Model

Primary Keys

Foreign keys

Page 19: What we used and learned on SS Courses within Person Project

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

Page 20: What we used and learned on SS Courses within Person Project

Entity Framework

Before: After:

Page 21: What we used and learned on SS Courses within Person Project

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

Page 22: What we used and learned on SS Courses within Person Project

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

Page 23: What we used and learned on SS Courses within Person Project

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

Page 24: What we used and learned on SS Courses within Person Project

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

Page 25: What we used and learned on SS Courses within Person Project

Resulted Clients

Application client with Server

Page 26: What we used and learned on SS Courses within Person Project

Resulted Clients

WEB client

Page 27: What we used and learned on SS Courses within Person Project

Resulted Clients

WPF client

Page 28: What we used and learned on SS Courses within Person Project

Resulted Clients

Windows Phone client

Page 29: What we used and learned on SS Courses within Person Project

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

Page 30: What we used and learned on SS Courses within Person Project

Thank you

Questions?