Informatics 121 Software Design I Lecture 13 Duplication
- Slides: 47
Informatics 121 Software Design I Lecture 13 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 1
Today’s lecture • Design methods • Feature comparison • Contextual inquiry (light) • Design studio 2 SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 2
Software design what is it to accomplish? satisfactory experience application design how does one interact with it? interaction design change in the world what is its conceptual core? plan for realization architecture design what are its implementation details? implementation design SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 3
Realistic design process what is it to accomplish? satisfactory experience how does one interact with it? change in the world what is its conceptual core? plan for realization what are its implementation details? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 4
Backtracking what is it to accomplish? satisfactory experience how does one interact with it? change in the world what is its conceptual core? plan for realization what are its implementation details? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 5
Realistic design process what is it to accomplish? satisfactory experience how does one interact with it? change in the world what is its conceptual core? plan for realization what are its implementation details? What happens here? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 6
Realistic design process what is it to accomplish? satisfactory experience how does one interact with it? change in the world what is its conceptual core? plan for realization what are its implementation details? Or here? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 7
Design method • A self-contained, structured technique that guides a designer in advancing some aspect of the design project at hand • Serves as a bridge from the overall process of design to actual individual and collaborative design work SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 8
Origin SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 9
Today SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 10
Example SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 11
Example SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 12
Example SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 13
Example SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 14
Example SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 15
Characteristics of design methods • Each design method suits a specific purpose with respect to the design cycle and overall design project • Each design method expects a certain context for it to lead to optimal results • Applying just one design method rarely suffices (but still may help) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 16
Example – decision making SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 17
Example – unearthing assumptions SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 18
Example – generating ideas SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 19
Example – identifying goals SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 20
Design methods – magic? what is it to accomplish? satisfactory experience how does one interact with it? change in the world what is its conceptual core? plan for realization what are its implementation details? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 21
Software design methods Application design Interaction design Architecture design Analysis • • • competitive testing contextual inquiry feature comparison stakeholder analysis task analysis • • critical incident technique interaction logging personas scenarios • framework assessment • model-driven engineering • quality-functiondeployment • reverse engineering • world modeling Synthesis • • affinity diagramming concept mapping mind mapping morphological chart • • design/making participatory design prototyping storyboarding • • Evaluation • requirements review • role playing • wizard of oz • • cognitive walkthrough evaluative research heuristic evaluation think-aloud protocol • formal verification • simulation • weighted objectives SDCL Software Design and Collaboration Laboratory architectural styles generative programming component reuse decomposition Department of Informatics, UC Irvine Implementation design • • release planning summarization test-driven design visualization • • pair programming refactoring search software patterns • • correctness proofs inspections/reviews parallel deployment testing sdcl. ics. uci. edu 22
Software design methods Application design Interaction design Architecture design Analysis • • • competitive testing contextual inquiry feature comparison stakeholder analysis task analysis • • critical incident technique interaction logging personas scenarios • framework assessment • model-driven engineering • quality-functiondeployment • reverse engineering • world modeling Synthesis • • affinity diagramming concept mapping mind mapping morphological chart • • design/making participatory design prototyping storyboarding • • Evaluation • requirements review • role playing • wizard of oz • • cognitive walkthrough evaluative research heuristic evaluation think-aloud protocol • formal verification • simulation • weighted objectives SDCL Software Design and Collaboration Laboratory architectural styles generative programming component reuse decomposition Department of Informatics, UC Irvine Implementation design • • release planning summarization test-driven design visualization • • pair programming refactoring search software patterns • • correctness proofs inspections/reviews parallel deployment testing sdcl. ics. uci. edu 23
Feature comparison • Feature comparison is the process of conducting research to learn about the features of competing products Tesla Model S SDCL Software Design and Collaboration Laboratory Toyota Prius Department of Informatics, UC Irvine Volkswagen Beetle sdcl. ics. uci. edu 24
Procedure • Identify competitors and their products • Establish dimensions for comparison • Conduct research • Analyze results SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 25
Example: identify competitors and their products Tesla Model S SDCL Software Design and Collaboration Laboratory Toyota Prius Department of Informatics, UC Irvine Volkswagen Beetle sdcl. ics. uci. edu 26
Example: establish dimensions for comparison • • • SDCL Type of engine Miles per gallon Range on a single refuel/recharge Number of passengers Number of doors … Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 27
Example: conduct research • Request brochures • Visit manufacturer web site • Visit independent review web site (e. g. , J. D. Powers) • Visit car dealers • Ask friends • … SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 28
Example: analyze results Tesla Model S Toyota Prius Volkswagen Beetle Type of engine Fully electric Hybrid Gasoline Miles per gallon 89 50 32 Range on a single refuel/recharge 300 540 594 Number of passengers 7 5 4 Number of doors 4 4 4 … … SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 29
Example: analyze results • A fully electric vehicle reduces the driving range significantly • A hybrid car may represent an appropriate tradeoff between driving range and fuel efficiency • Four doors is standard • Tesla Model S, except for its driving range, is (tied for) best in all categories, and therefore perhaps our main competitor • … SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 30
Typical notation: comparison matrix Tesla Model S Toyota Prius Volkswagen Beetle Type of engine Fully electric Hybrid Gasoline Miles per gallon 89 50 32 Range on a single refuel/recharge 300 540 594 Number of passengers 7 5 4 Number of doors 4 4 4 … … . . . SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 31
Alternative notation: radar chart Number of doors Miles per gallon 10 8 6 4 2 0 Range on a single refuel/recharge Tesla Model S Toyota Prius Volkswagen Beetle Number of passengers SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 32
Criteria for successful use • Direct or indirect access to the specifications of the competing products • Creation of a meaningful set of dimensions for comparison • Appropriate depth of analysis SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 33
Strengths and weaknesses Strengths Weaknesses • Helps identify key competitors • Creates a detailed account of competing products • Builds an understanding of the full landscape as it exists today • Focuses on the present, not what competing products might look like in the (near) future • Reinforces existing boundaries, perhaps stifling creativity • Lightweight design method – range of feature sets – differentiation – best practices • Lightweight design method SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 34
Contextual inquiry (light) • Contextual inquiry is the process of observing and interviewing a user in context – while they are engaged in the actual setting of life SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 35
Procedure • Plan • Identify users • Schedule and conduct visits • Analyze the data SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 36
Example: plan • Decide, beforehand, the purpose of the contextual inquiry – what type of information – which type of setting – which type of users SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 37
Example: identify users • Draw an advertisement in the newspaper • Social media recruiting • Ask client for access to representative users • Use an external recruitment service to target particular (typically representative) demographics SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 38
Example: schedule and conduct visits • Two-to-three hour visit • Master-apprentice model – – observer takes note of what the user does user shares their thoughts on the work they perform observer inquires why the user does what they do observer takes notes • Ideally, a contextual inquiry becomes a rich conversation – shared stories and insights – clarified interpretations SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 39
Example https: //www. youtube. com/watch? v=JV 6 br-npgfw SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 40
Example https: //www. youtube. com/watch? v=Gd 5 f. A 9 UQDj. E SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 41
Example: analyze results • 90% of the time, the existing software is used one way, but 10% of the time, an exceptional use occurs • A small number of users circumvent the existing software system by passing paper notes back and forth • Users of the future software system have goals that do not align with management’s goals • . . . SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 42
Typical notation: notes SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 43
Criteria for successful use • Access to the ‘right’ users involved in the ‘right’ activities • Extensive sharing • Ability to expand inquiry • A strong focus on why (why not) SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 44
Strengths and weaknesses Strengths Weaknesses • Reveals underlying and often invisible work structure • Users may not know the answers to the important questions • Steeped in current practices, perhaps stifling creativity • Observer bias • Lessons that can be learned depend strongly on the activities being performed by the user • Stops short of analysis – flows, tasks, artifacts, physical environment, culture, … • Involves actual users • Exposes rationale • Can challenge assumptions held by the designer • Not as involved as a full ethnography, but can still yield very usable insights and results SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 45
Variants • Contextual design • Questionnaire • Ethnography • Interview SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 46
Design studio 2 • Any questions? SDCL Software Design and Collaboration Laboratory Department of Informatics, UC Irvine sdcl. ics. uci. edu 47
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Relief blockout
- Robertsonian translocation
- How to create forensic duplicate of a hard drive
- Mitosis in a winter wonderland
- Legendre duplication formula proof
- Fm perfume party games
- Code duplication detection
- Duplication du carré
- Entrepreneurial perspective
- Effects of duplication
- Nrxn duplication
- Real time software design in software engineering
- Software design fundamentals in software engineering
- Requirement analysis in software engineering notes
- Wwwwwhh
- Lecture presentation software
- Eurocode lap lengths
- Elemen urban design
- Elements of design in interior design ppt
- Lecture hall acoustics
- Game design lecture
- Computer-aided drug design lecture notes
- Cmos vlsi design lecture notes
- Observational health data sciences and informatics
- Nursing informatics and healthcare policy
- Introduction to medical informatics
- Informatics 43 uci
- In4matx 43 uci
- Supply chain informatics
- Python for informatics: exploring information
- Metastructures of nursing informatics
- Supply chain informatics
- Python for informatics: exploring information
- Python for informatics: exploring information
- Python for informatics
- Informatics basics
- Health informatics
- Medical automation systems
- Nursing informatics theories, models and frameworks
- Belarusian university of informatics and radioelectronics
- Python for informatics
- Pharmacy informatics definition
- Cybernetics statistics and economic informatics
- Social informatics definition
- Chapter 26 informatics and documentation
- Career skills in health informatics chapter 2
- History of pharmacy informatics