Mark Dixon, SoCCE SOFT 131Page 1 02 – Software Development Lifecycle, & User Interface Design.

Slides:



Advertisements
Similar presentations
Structured Design The Structured Design Approach (also called Layered Approach) focuses on the conceptual and physical level. As discussed earlier: Conceptual.
Advertisements

VISUAL BASIC Visual Basic is derived from the Basic language (Beginner’s All-Purpose Symbolic Instruction Code) Visual Basic uses an event-driven programming.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Mark Dixon, SoCCE SOFT 131Page 1 22 – Visual BASIC 2005.
Mark Dixon, SoCCE SOFT 136Page 1 05 – Conditional Execution.
Mark Dixon, SoCCE SOFT 136Page 1 02 – Software Development Life-Cycle.
Mark Dixon Page 1 05 – Conditional Execution. Mark Dixon Page 2 Admin: Test (next week) In class test –teaching week 6 50 minutes short answer (5 - 6.
Mark Dixon, SoCCE SOFT 131Page 1 04 – Information Processing: Expressions, Operators & Functions.
Mark Dixon, SoCCE SOFT 131Page 1 SOFT – Module Introduction & Overview.
Mark Dixon, SoCCE SOFT 131Page 1 03 – User Interface Design, and Sound and Graphics.
Mark Dixon Page 1 02 – Dynamic HTML (client-side scripting)
Mark Dixon, SoCCE SOFT 131Page 1 03 – Debugging & Graphics.
Mark Dixon, SoCCE SOFT 131Page 1 04 – Information Processing: Data-types, Variables, Operators & Functions.
Mark Dixon, SoCCE SOFT 131Page 1 02 – Software Development Lifecycle, & User Interface Design.
Slide 1 ICS 012 Visual Programming I Ahmed Esmat Second.
Mark Dixon, SoCCE SOFT 131Page 1 04 – Conditional Execution.
Mark Dixon, SoCCE SOFT 131Page 1 12 – Enumerated Data-Types & Pass-by-reference.
Mark Dixon, SoCCE SOFT 131Page 1 13 – Control Arrays & Container Controls.
Mark Dixon, SoCCE SOFT 131Page 1 03 – Debugging, Sound, and Graphics.
Mark Dixon, SoCCE SOFT 131Page 1 05 – Information Processing: Data-types, Variables, Operators & Functions.
Adding Controls to User Forms. Adding Controls A user form isn’t much use without some controls We’re going to add controls and write code for them Note.
Chapter 3 Introduction to Event Handling and Windows Forms Applications.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
02 – Client-side code: JavaScript
Chapter 1 P. 1 Writing Windows applications with Visual Basic Figure 1.1 The first program works as follows: (These operations can be performed in any.
Chapter 3 Introducing Visual Basic.NET. 3.1 Visual Basic.NET Windows Programming -Used to create Windows, Web, and Console applications -Uses predefined.
M Dixon 1 04 – Data Types & Debugging. Questions: Expressions a)What is the result of: 7 + Int(8.245) b)Write an expression to: put a random number into.
Mark Dixon 1 05 – Conditional Execution. Mark Dixon 2 Admin: Test (next week) In class test –teaching week 6 50 minutes short answer (5 - 6 words) currently.
Mark Dixon, SoCCE SOFT 131Page 1 02 – Dynamic HTML (client-side scripting)
Irwin/McGraw-Hill © The McGraw-Hill Companies, Inc., Visual Basic Projects Project Structure and VB’s Programming Tools chapter TWO.
Copyright © 2001 by Wiley. All rights reserved. Chapter 2: Using Visual Basic to Create a First Project Getting Started with VB Development Environment.
Microsoft Visual Basic 2010 CHAPTER THREE Program Design and Coding.
Tutorial 11 Five windows included in the Visual Basic Startup Screen Main Form Toolbox Project Explorer (Project) Properties.
Mark Dixon Page 1 06 – Conditional Execution. Mark Dixon Page 2 Admin: Test (next week) In class test –teaching week 6 50 minutes short answer (5 - 6.
Mark Dixon, SoCCE SOFT 136Page 1 SOFT – Module Introduction & Overview.
Irwin/McGraw-Hill Copyright© 2000 by the McGraw-Hill Companies, Inc. PowerPoint® Presentation to accompany prepared by James T. Perry University of San.
Fundamentals of GUI Programming. Objectives: At the end of the session, you should be able to: describe the guidelines that are used for creating user-friendly.
Working with the VB IDE. Running a Program u Clicking the”start” tool begins the program u The “break” tool pauses a program in mid-execution u The “end”
Mark Dixon, SoCCE SOFT 131Page 1 05 – Variables. Mark Dixon, SoCCE SOFT 131Page 2 Admin: Test (next week) In class test –teaching week 6 –university week.
Chapter Two Creating a First Project in Visual Basic.
Mark Dixon Page 1 03 – Dynamic HTML (client-side scripting)
M Dixon 1 03 – Dynamic HTML (client-side scripting)
Mark Dixon Page 1 04 – Information Processing: Expressions, Operators & Functions.
Mark Dixon 1 03 – Information Processing. Mark Dixon 2 Questions: Events Consider the following code: a) How many unique events does it contain? b) Name.
Standard Grade Programming using VB 1 Programming Visual Basic.
What is Visual Basic.NET? 110 B-1 e.g. a word processor doesn’t do anything until the user clicks on a button, types text... A programming language that.
Mark Dixon, SoCCE SOFT 131Page 1 04 – Information Processing: Expressions, Operators & Functions.
Mark Dixon, SoCCE SOFT 131Page 1 02 – Dynamic HTML (client-side scripting)
Mark Dixon Page 1 03 – Dynamic HTML (client-side scripting)
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Mark Dixon, SoCCE SOFT 131Page 1 16 – Visual BASIC 6.0.
Mark Dixon Page 1 04 – Information Processing: Expressions, Operators & Functions.
Mark Dixon Page 1 04 – Information Processing: Expressions, Operators & Functions.
VB Objects & Events (Exercises) School of Business Eastern Illinois University © Abdou Illia, Spring 2003 (Week 3, Friday 1/31/2003)
Mark Dixon 1 06 – Conditional Execution. Mark Dixon 2 Admin: Test (next week) In class test –teaching week 7 50 minutes short answer (5 - 6 words max)
M Dixon 1 02 – Dynamic HTML (client-side scripting)
Microsoft Visual Basic 2008: Reloaded Third Edition Chapter One An Introduction to Visual Basic 2008.
Mark Dixon Page 1 04 – Conditional Execution. Mark Dixon Page 2 Questions: Expressions a)What is the result of: 10 * Int( ) b)How many functions.
Copyright (c) 2003 by Prentice Hall Provided By: Qasim Al-ajmi Chapter 2 Introduction to Visual Basic Programming Visual Basic.NET.
Chapter 1 Introduction to Visual Basic.NET Programming In Visual Basic.NET © 2001 by The McGraw-Hill Companies, Inc. All rights reserved.
Mark Dixon Page 1 03 – Information Processing: Expressions, Operators & Functions.
AVCE ICT – Unit 7 - Programming Session 12 - Debugging.
Visual Basic.Net. Software to Install Visual Studio 2005 Professional Edition (Requires Windows XP Pro) MSDN Library for Visual Studio 2005 Available.
Mark Dixon Page 1 03 – Information Processing: Expressions, Operators & Functions.
Microsoft Visual Basic 2012: Reloaded Fifth Edition Chapter One An Introduction to Visual Basic 2012.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Chapter 1: An Introduction to Visual Basic 2015
CIS16 Application Development Programming with Visual Basic
Presentation transcript:

Mark Dixon, SoCCE SOFT 131Page 1 02 – Software Development Lifecycle, & User Interface Design

Mark Dixon, SoCCE SOFT 131Page 2 Jobs Computer weekly local

Mark Dixon, SoCCE SOFT 131Page 3 Session Aims & Objectives Aims –introduce you to software development life-cycle & fundamental user interface design concepts Objectives, by end of this week’s sessions, you should be able to: –Run through the software development cycle. Implement simple software design –Create (draw) user interface –Put instructions in: »correct event handler procedure for desired result »correct sequence for desired result Test this design –Identify and correct simple logical and syntax errors –Identify & correct simple user interface (usability) problems

Mark Dixon, SoCCE SOFT 131Page 4 Object naming conventions all objects have name property used to identify them in code (identifier) txtSurname.Caption = "Smith" 3 letter prefix to denote type, followed by short meaningful word/phrase: –frm: form(e.g. frmMain, frmAdd) –pic: picture box(e.g. picDisplay, picFace) –txt: text box(e.g. txtMonth, txtDrink) –lbl: label(e.g. lblName, lblAge) –btn: command button(e.g. btnClear, btnExit) makes it easy to read code

Mark Dixon, SoCCE SOFT 131Page 5 Exercise A consider the following code: Private Sub btnThing_Click() picMain.Cls lblResult.BackColor = vbRed lblResult.Caption = "Testing" End Sub –name all controls –name all properties –name all methods –name all events btnThing, picMain, lblResult BackColor, Caption Cls Click

Mark Dixon, SoCCE SOFT 131Page 6 Project Files & Version Control Create new folder for each project Save all project files into that folder –project file (.vbp) –form files (.frm) At regular intervals copy whole folder to create new version. –this is a very simple approach –there are software packages that do this for you

Mark Dixon, SoCCE SOFT 131Page 7 Software Development Cycle Software development follows this pattern: –analyse problem –design solution –implement (code) solution –test & debug solution (code) However, it is: –cyclic/iterative (not linear)

Mark Dixon, SoCCE SOFT 131Page 8 Example 1: Ball v1 - Analysis User Requirements –describe user's objectives no mention of technology Software Requirements –Functional list facilities to be provided (often numbered) –Non-functional list desired characteristics (often more subjective) SPECIFICATION User Requirements –keep play school children occupied Software Requirements –Functional: move cartoon character around the screen –Non-functional character should be interesting and colourful

Mark Dixon, SoCCE SOFT 131Page 9 Example 1: Ball v1 - Design User interface design: Functional design: Trigger (when)Actions (what) click event of Right buttonmove ball character right click event of Left buttonmove ball character left click event of Up buttonmove ball character up click event of Down buttonmove ball character down

Mark Dixon, SoCCE SOFT 131Page 10 Example 1: Ball v1 - Form Properties (setting at design-time): –initial value only –change using properties window name: used internally to identify object (programmer) caption: displayed on button (user) left: horizontal position

Mark Dixon, SoCCE SOFT 131Page 11 Example 1: Ball v1 - Code Option Explicit Private Sub btnRight_Click() picBallChar.Left = picBallChar.Left End Sub Properties (setting at run-time) –use code, assignment operator (=) –can change while program is running btnRight picBallChar BallChar

Mark Dixon, SoCCE SOFT 131Page 12 Testing & Debugging: Errors 3 error types : –syntax: computer unable to understand your instructions (program does not execute), e.g. variable not defined (probably most common) –run-time: program can't execute instruction and exits (future lecture) ********* –logical: program executes but does not not match specification (do what was intended), e.g. clicking on button does nothing, when you thought you attached code to it clicking on blue button changes colour to red (when it should change to blue)

Mark Dixon, SoCCE SOFT 131Page 13 Computer –just symbol matching –No intelligence Example 2: Hello Errors Sub Command1_Cluck LabelL.Caption = "Hello" End Sub L instead of 1: causes syntax error (variable not defined) u instead of i: causes logical error (Command1 button does nothing)

Mark Dixon, SoCCE SOFT 131Page 14 Exercise B: Errors The following is from exercise 1 (v1), –Spot the errors (you should find 6), and –decide whether they are syntax or logical Private Sub btnBlue_Cluck() lblResult.BackColor = vbRed End Sub Private Sub btnRed_lick() lblResult.BackColor vbRed End Sub Private Sub lb1Result_DblClick() lblResult.BackColour = vbWhite End Sub

Mark Dixon, SoCCE SOFT 131Page 15 Debugging: Testing Functional Decomposition –break it into logical chunks Incremental Development –type a bit –test it Testing –test all/most combinations Regression Testing –repeat all previous tests

Mark Dixon, SoCCE SOFT 131Page 16 Example 3: disks & files

Mark Dixon, SoCCE SOFT 131Page 17 Human-Computer Interaction ‘Human-Computer Interaction (HCI) is about designing computer systems that support people so that they can carry out their activities productively and safely.’ Preece et al, 1994 (p. 1) three main concerns: –usefulness: is software functionality of use to user –usability: is software easy to use –learnability: is software easy to learn software may be: –‘simple to use, but of no value to me’ –‘really helpful, but awkward to use’ –‘really helpful, if only I could figure out how’

Mark Dixon, SoCCE SOFT 131Page 18 HCI – why bother? ‘The Day the Phones Stopped’ ( Preece et al, 1994 p. 25)

Mark Dixon, SoCCE SOFT 131Page 19 HCI - Design Guidelines Some issues: –Consistency –Fast feedback –Manage errors –Reduce cognitive load –User variety –User testing with actual users –…

Mark Dixon, SoCCE SOFT 131Page 20 HCI - Direct Manipulation Direct Manipulation Interfaces (Shneiderman 1998, p. 205) –‘Continuous representation of the objects and actions [information] of interest with meaningful visual metaphors’ –‘Physical actions or presses of labelled buttons, instead of complex syntax’ –‘Rapid incremental reversible operations whose effect on the object of interest is visible immediately’

Mark Dixon, SoCCE SOFT 131Page 21 Example 4: Ball v2 - Design User interface design: Functional design: Trigger (when)Actions (what) click event of Right buttonmove ball character right click event of Left buttonmove ball character left click event of Up buttonmove ball character up click event of Down buttonmove ball character down click event of Centre buttonmove ball character to centre of form BallChar

Mark Dixon, SoCCE SOFT 131Page 22 Example 4: Ball v2 - Code Option Explicit Private Sub btnCentre_Click() picBallChar.Left = Me.ScaleWidth / 2 End Sub Private Sub btnRight_Click() picBallChar.Left = picBallChar.Left End Sub Properties (setting at run-time) –use code, assignment operator (=) –can change while program is running BallChar

Mark Dixon, SoCCE SOFT 131Page 23 Example 5: Holiday User Requirement –‘I want a cheap holiday, so I need to know times and prices of ferries and flights’ Can solve this by –visit company offices –phone –www, compare the following: Brittany Ferries EasyJet

Mark Dixon, SoCCE SOFT 131Page 24 Example 6: Address Book