Designing a System 4 October 2006. Beyond the Technology What will be implemented – external view –“glossy” brochure –Use cases and user types Translation.

Slides:



Advertisements
Similar presentations
Chapter 19 Design Model for WebApps
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
8 September Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams.
25 October. The UI Iceberg Visuals InteractionTechniques Object Model Feel 30% Look 10% The things you use 60%  Toolkits and style guides help with.
6 December ’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
11 October Project Management Discipline of planning, organizing, and managing resources to bring about the successful completion of specific project.
UI Standards & Tools Khushroo Shaikh.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Requirements Analysis Concepts & Principles
Requirements Elicitation Chapter 4. Establishing Requirements Two questions –What is the purpose of the system –What is inside and what is outside the.
Design 15 February. Software Engineering: Elaborated Steps Concept (contract, intro on web site) Requirements (use cases, requirements) Architecture Design.
18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
CSC230 Software Design (Engineering)
Object-Oriented Analysis and Design
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
Human Interface Engineering1 Main Title, 60 pt., U/L case LS=.8 lines Introduction to Human Interface Engineering NTU Seminar Amy Ma HIE Global Director.
The Design Discipline.
Lesson 7 Guide for Software Design Description (SDD)
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
3 September Engineering  Turning ideas into reality  Creating something useful from other things using science and math.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Software Requirements Engineering CSE 305 Lecture-2.
Patterns, effective design patterns Describing patterns Types of patterns – Architecture, data, component, interface design, and webapp patterns – Creational,
5 Systems Analysis and Design in a Changing World, Fourth Edition.
INFO3315 Week 4 Personas, Tasks Guidelines, Heuristic Evaluation.
Introduction To System Analysis and Design
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
SOFTWARE DESIGN.
Why Written Requirements?  Unambiguous  Defines goals  Cost of finding a requirements bug later can be 100 times more expensive.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Lecture 7: Requirements Engineering
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
SYS466 Casual Use Case Specifications. Systems Use Case Diagrams and Specifications Based on the dialog metaphor Based on the dialog metaphor The process.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 11  2000 by Prentice Hall System Analysis and Design: Methodologies and Tools Uma Gupta Introduction to Information Systems.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
17 January Requirements. The Plan Quick Pass on Software Engineering “Just enough” context Start with what you need for your first deliverables Back up.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Supporting the design of interactive systems a perspective on supporting people’s work Hans de Graaff 27 april 2000.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
What is a Functional Spec?  Defines what the functionality will be NOT how it will be implemented  Describes features of the software product product's.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Design Concepts ch-8
4 Chapter 4: Beginning the Analysis: Investigating System Requirements Systems Analysis and Design in a Changing World, 3 rd Edition.
Elaboration popo.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Physical Data Model – step-by-step instructions and template
Web Development A Visual-Spatial Approach
Business System Development
UML Diagrams Jung Woo.
Chapter 1 (pages 4-9); Overview of SDLC
Object oriented analysis and design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Designing a System 4 October 2006

Beyond the Technology What will be implemented – external view –“glossy” brochure –Use cases and user types Translation to a software design –Web interface –Data objects –STRUTS diagram –Domain model and interface How it will be implemented –Project plan: when and who

Design Phase Concept User Types Use Cases

Marketing What are you going to accomplish? What problem are you solving? –How is it currently done? –How are you going to do it better? NO TECHNICAL DETAIL Last year’s examples –CampaignScaperCampaignScaper –HeelBidHeelBid

Design Phase Concept User Types Use Cases

How Do You Describe a User As a Person –Knowledge and experience –Age and gender –Physical handicaps –Characteristics of tasks and jobs –Psychological characteristics By his or her role in the system –Functions –Privileges

Methodologies For this project –Three or four sentences describing your assumptions about the user type and their role in your system For more complex systems –Personas

User Requirements - Persona A description of a fictitious user representing a distinct user group –User groups are based on unique goals, from the goal model –Each persona represents a unique set of goals for design Personas help direct the design –Allow designers to focus on people’s needs and differences –Skills, motivations, emotions, behaviors –Design teams often post photos and descriptions in their work areas –Use each persona as though it were a real person –“What would Jackie do if …”

Persona excerpt from hotel reservation system

Story excerpt

Design Phase Concept User Types Use Cases

A statement of the functionality users expect and need, organized by functional units  Functional units to be designed  Creation, removal, update, purchase, browse, … Relationships between user roles and use cases  User activities, decisions, and objects involved  Measures and targets that satisfy task- level success criteria

Methodologies For this project –Text definitions –Examples from last year CampaignScaper HeelBid For more complex systems –UML

Sample Use Case: UML notation Use cases are often inter-related extend is an optional association include is a mandatory association Each use case is a logical function to be designed The collection of all use cases defines the system Use Case

Into Development Mode Interface Design – Building a Web Site Building a System Dividing the Work Managing the Process

About Site Design (from Yale site guidelines) In architecture as in all other operative arts, the end must direct the operation. — Sir Henry Wotton, The Elements of Architecture Although people will notice the graphic design of your Web pages right away, the overall organization of the site will have the greatest impact on their experience. The fundamental organizing principle in Web site design is meeting users' needs. Ask yourself what your audience wants, and center your site design on their needs.

The UI Iceberg Visuals InteractionTechniques Object Model Feel 30% Look 10% The things you use 60% Toolkits and Style Guides help with look and feel, the tip of the usability iceberg. Real usability gains come from system and application objects perceived by users.

Principles of Good Screen Design (Galitz) Consistency Starting in the upper left corner Simple navigation Hierarchy for importance Pleasing visuals Captions

Development Overview Discovery Design Implementation Users Check in Greet Register Create key Confirm room Check reservations Task Analysis Dialog Window Container Implementor's Model Model of Users’ Objects Hotel Guest Reservation

Domain Classes Object-oriented paradigm, not implementation Domain = application specific Classes defined in natural language –Used to explain the architecture and design Classes derived from the requirements –Need not match the implementation –Likely design in small project

Defining Domain Classes Begin with Use Cases Identify nouns –External agents are not domain classes –Are these key classes for the application? –Are there others? Identify attributes and functionality for each class Validate –Walkthrough use cases –Try changes and extensions Look for –Missing attributes or functions –Changes that reach everywhere

Into Development Mode Interface Design – Building a Web Site Building a System Dividing the Work Managing the Process

With Teams of Two Pair Programming –High quality –No coordination problems –Need to coordinate work times Vertical Towers –Both people get full experience –Both people need to learn all parts –Parts may be inconsistent –May not find all reusable components Horizontal Slices –Each person only needs to become expert in parts –Do not get the work in both parts –Need to assure pieces work together

Pair Programming Two people working at a single computer Built-in backup and inspections Collaboration builds better code Different models: mechanics –One drives, the other talks –Keyboard slides between the two Different models: logical –One tactical, the other strategic –Both think about the full spectrum but bring different perspectives

Into Development Mode Interface Design – Building a Web Site Dividing the Work Managing the Process

Technical Risks New features New technology Developer learning curve Changes that may affect old code Dependencies Complexity Bug history Late changes Rushed work Tired programmers Slipped in “pet” features Unbudgeted items

Knowing How You’re Doing If you don’t have a plan, you don’t know if you’re on schedule Weekly checkpoints If you’re behind? –Work harder –Adapt assignments –Reduce scope