1 / 30

What we used and learned on SS Courses within Person Project

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.

saddam
Download Presentation

What we used and learned on SS Courses within Person Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. Person Evolution 1.Realization of Create and Read functions 2. Manual serialization 1.Realization of all CRUD 1.Realization of all CRUD through Client - Server application 2. Manual CRUD with DB and manual serialization 3. HTTP/TCP versions of clients/servers 4. 3 types of Clients(Mobile, App, WEB) 1.Person with Contacts and Addresses 2. Serialization through XML document 3. Server on WCF 4. Entity Framework for DB 5. 4 Clients (WPF, Mobile, WEB, App)

  5. Person Evolution

  6. Person Evolution + Picture + MemoField • Child classes was removed • Manual Serialization/ Deserialization was Implemented for network transmission(something like SOPA) • Client-server implementation of CRUD added Additional Properties was added

  7. Person Evolution • 3 types of client added

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

  9. Person Evolution • Serialization through XML Serializer added • Contacts and Addresses into Person class added • Integration with java Was aborted

  10. Person Evolution • New technologies where used (WCF, Entity Framework) • WPF client was added

  11. 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

  12. Subversion Control (SVN) Before After

  13. Subversion Control (SVN) Pros Cons • Use of third party system integrated software • Unreachable data if you have no network access • Uncommitted files by developers • Easy control over different source code steps of development process • One click update/commit • Clean and small usage of HDD space

  14. UML Diagrams Pros Cons • Extra time for modeling • Not always needed due to simplicity of the project • 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”

  15. UML Diagrams Resulted Class diagram

  16. Mockups Pros Cons • Use of third-party software • Extra time on mockups projecting • Clear Understanding of how your interface will look like • Clearing all uncertainties in the beginning of project • Time economy at finish steps

  17. Mockups Person mockups

  18. Entity Model Primary Keys Foreign keys

  19. Entity Framework Pros Cons • 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 • Simple start to work coz of msdn help I great • Easy access to Database • Easy mapping of associations between Entities • Easy modeling

  20. Entity Framework Before: After:

  21. MVC pattern Pros Cons • Hard to define dependencies at first • Lots of additional classes in project • Development problems if dependencies between main parts are changed • Clear dependencies between project parts • Good testability • Code minimizing in project parts(classes)

  22. Continuous Integration Hudson+Sonar Cons Pros • Limited support for testing in C#, Gallio must be used instead of other tools. • Greatly reduced .NET capabilities because Gallio uses obsolete libraries • Nightly Builds (Timed Scheduler) • Gathers metrics and code analysis then shows data in graphics within time span • Configurable Testing Environment TeamCity Cons Pros • Same as Hudson+Sonar tandem • Easy configurable • Average usage of computer resources

  23. Windows Communication Foundation Cons Pros • Custom Classes must be redesigned for use in WCF • Not all configuration data generated through Wizard. • Some Research needed to start work with WCF • Easy to use connection between client\server like referenced library • Automatic Serialization\ Deserialization of Custom Classes

  24. Core Model Used Technologies • Continuous integration under Teamcity with use of NUnit and SVN • WCF • HTTP/TCP • Entity Framework • WCF • HTTP/TCP • WPF • WCF • HTTP/TCP • AJAX • WCF • HTTP/TCP • Silverlight Win Forms/WPFClient ManualHTTP/TCPServer ASP.NETService EntityFramework HTTP/JScriptClient WCF Service Virtual Machine MSQL Win Phone Client

  25. Resulted Clients Application client with Server

  26. Resulted Clients WEB client

  27. Resulted Clients WPF client

  28. Resulted Clients Windows Phone client

  29. 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 Vsevolod Tarasov 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 Our source codes for this project can be found at: https://client-derver-game.googlecode.com/svn/trunk

  30. Thank you Questions?

More Related