200 likes | 236 Views
Smoke and Mirrors Prototype. (Building the Presentation Layer - KISS). Figuring out what to do!. Every skill was not learnt over night and certainly not without proper help and support. Tools to Help us. We are… Taking time to think about the problem Working collaboratively
E N D
Smoke and Mirrors Prototype (Building the Presentation Layer - KISS)
Figuring out what to do! • Every skill was not learnt over night and certainly not without proper help and support.
Tools to Help us We are… • Taking time to think about the problem • Working collaboratively • Using documentation to help us model the problem • System specification • Event tables • Use case diagrams / descriptions • Class diagrams • Using tools to support us (Enterprise Architect and Visual Studio)
Additional Tools • Git Hub • Paper based designs • Smoke and mirrors prototype • Test Driven Development
Git Hub • https://github.com/ • A tool to allow you to share code between members of your team • Includes version control to ensure that you have the most up to date version of your code
Implementing the Use Cases • At some point we will need to turn our use case diagrams into presentation layer artefacts. • In creating a web based interface this will involve ASP.NET web forms • In creating a desktop application this will require a Windows executable file using Windows forms
Paper Based Designs • Pen and paper is fast and cheap • If your design is way off the mark of the client’s expectations then it isn’t too painful to change it • I often use rough scribbles on paper just to plan out ideas if I am not sure what I need to do • May be turned into story boards
The Smoke and Mirrors Prototype • Firstly it is a tool to allow you to mock up the system to the client quickly with a minimum of effort on your part. • Secondly it provides a useful discussion point with the user / client to establish if you are on the correct track. Even the most experienced of developers have incorrect assumptions about user interaction.
Response.Redirect • Used to transfer us between web forms
The Benefits of Prototyping • Show your system design to your client to see if it is what they are looking for • Created very quickly and easily modified to suit the needs of your client • Should look like a professional piece of software however the functionality is just an illusion • Once you know that your prototype design is suitable then you may get on with the task of making the code work • However – now that you have your presentation layer clearly defined it provides a bigger insight into how the middle layer code will need to work along with the sort of tables and attributes the data layer will need
Solutions and Projects in Visual Studio • Visual Studio allows us to create projects and solutions • A project may be a web site, a desktop application, an application based in the cloud, a mobile phone app, class library etc. • In Visual Studio we have the option of adding projects to a solution • A solution is a master container that allows us to work on multiple projects at the same time also to create a single class library and link that class library to the projects in the solution
PBFrontEnd (Interface) Middle Layer Business Logic (Classes) Data Layer Database PBBackOffice (Interface) Extended Architecture
Thick and Thin Layers • When we are creating any code it is always a good idea to write with an eye to re-use. • Any code in the middle layer class library may be shared across multiple projects • Any code that is in the presentation layer is much harder to share with other projects • We want to create as little code in the presentation layer as possible
The Class Diagram • We will think about the code that handles the collection class clsAddressCollection - clsAddress