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 PresentationTRANSCRIPT
![Page 1: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/5.jpg)
Person Evolution
![Page 6: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/7.jpg)
Person Evolution• 3 types of client added
![Page 8: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/12.jpg)
Subversion Control (SVN)
Before After
![Page 13: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/15.jpg)
UML DiagramsResulted Class diagram
![Page 16: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/17.jpg)
Mockups
Person mockups
![Page 18: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/18.jpg)
Entity Model
Primary Keys
Foreign keys
![Page 19: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/20.jpg)
Entity Framework
Before: After:
![Page 21: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/25.jpg)
Resulted Clients
Application client with Server
![Page 26: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/26.jpg)
Resulted Clients
WEB client
![Page 27: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/27.jpg)
Resulted Clients
WPF client
![Page 28: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/28.jpg)
Resulted Clients
Windows Phone client
![Page 29: What we used and learned on SS Courses within Person Project](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022070412/5681492d550346895db669e6/html5/thumbnails/30.jpg)
Thank you
Questions?