300 likes | 405 Views
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.
E N D
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 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 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)
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
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 • 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
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”
UML Diagrams Resulted Class diagram
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
Mockups Person mockups
Entity Model Primary Keys Foreign keys
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
Entity Framework Before: After:
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)
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
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
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
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 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
Thank you Questions?