(Building the Presentation Layer - KISS). Figuring out what to do! Every was not learnt over night...

21
(Building the Presentation Layer - KISS)

Transcript of (Building the Presentation Layer - KISS). Figuring out what to do! Every was not learnt over night...

(Building the Presentation Layer - KISS)

Figuring out what to do!Every was not learnt over night and certainly not

without proper help and support.

Tools to Help usWe are… Taking time to think about the problemWorking collaborativelyUsing documentation to help us model the

problemSystem specificationEvent tablesUse case diagrams / descriptionsClass diagrams

Using tools to support us (Enterprise Architect and Visual Studio)

Additional ToolsVisual Studio on-linePaper based designsSmoke and mirrors prototypeTest Driven Development

Visual Studio On-LineA tool to allow you to share code between

members of your teamIncludes version control to ensure that you

have the most up to date version of your code

Implementing the Use CasesAt 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 DesignsPen 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.

For example…

The DVD swap shop

Response.RedirectUsed to transfer us between web forms

.Visible .Enabled & .Text Properties

The Benefits of PrototypingShow 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 StudioA slight tangent perhaps…

As we saw in the lab last week 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

New Architecture

PBFrontEnd(Interface)

Data LayerDatabase

Middle LayerBusiness Logic(Classes)

PBBackOffice(Interface)

Allowing us to Share Data Between Multiple Projects…

Thick and Thin LayersWhen 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 DiagramWe will think about the code that handles the

collection class clsAddressCollection - clsAddress

Populating a List With a Loop

Keep the Presentation Layer Simple

Prototype PresentationsMarking Scheme

Grade

Personal appearance

Clarity of delivery

Timing of delivery

Subjective enjoyment

Consideration of potential users

Completeness of documentation