How to write a design document



Similar documents
Critical analysis. Be more critical! More analysis needed! That s what my tutors say about my essays. I m not really sure what they mean.

Writing Thesis Defense Papers

Technical Resume Writing. Ashley Verge Science Career Development Coordinator Faculty of Science and Career Development & Experiential Learning

Reflective Writing. How do you write reflectively? Stages of reflective thinking

THREE BIG NURSING SCHOOL MISTAKES YOU MIGHT BE MAKING

Coaching Packages VIP Days PR Bursts & More

Some information about applying for jobs and writing the thesis

Fruit Machine. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code

The Challenge of Helping Adults Learn: Principles for Teaching Technical Information to Adults

Bag It! A Quick and Remarkably Easy Instructional Design Process.

How to write a great job ad

What is active learning?

the ultimate guide to marketing for insurance agents

Chapter Four: How to Collaborate and Write With Others

CS101 Lecture 24: Thinking in Python: Input and Output Variables and Arithmetic. Aaron Stevens 28 March Overview/Questions

How to write a great job ad

Software Engineering (CS550)

BLOGGING CRASH COURSE

Some past questions and guidance on answering

FINAL SCHEDULE YEAR 1 AUGUST WEEK 1

DO MORE WITH YOUR HOME PHONE

Managing Money and Finances Following Traumatic Brain Injury. Patient Information Booklet. Talis Consulting Limited

The One Key Thing You Need to Be Successful In Prospecting and In Sales

I use several different introductions when it comes to calling purchased leads or leads that I have generated on my own through different ads.

How To Write A Design Document For Anorexic Css

Writing Cover Letters

Encoding Text with a Small Alphabet

>> My name is Danielle Anguiano and I am a tutor of the Writing Center which is just outside these doors within the Student Learning Center.

SPECIAL REPORT INFUSIONSOFT: 7 KEYS TO TOP RESULTS. What s Inside? OVERVIEW KEY # 1: RESPECT YOUR AUDIENCE

How To Proofread

How To Write a Technical Lab Report with Practical Examples

Getting started as an attorney

YouTube Channel Authority - The Definitive Guide

Copyright 2011 Smart VA Ltd All Rights Reserved.

Easy Casino Profits. Congratulations!!

Credit Card Activity

How to Use Easyhits4U

Lift the Load! Make a lever. Measure the amount of force needed to lift up a book when applying a force at different positions on the lever.

Welcome to Northern Lights A film about Scotland made by you.

How To Make A Reverse Mortgage Over The Phone

How to Make Sure Your Talk Doesn t Suck. David Tong

Cover design and all illustrations in this book are courtesy of Lydia Anderson.

NECESSARY AND SUFFICIENT CONDITIONS

The SPSO and compensation claims

Resume Tune Up. Worksheets. From the The Career Development Center (CDC) Knowledge Base: No Appointment Necessary, Please Be On Time.

How to Write a Marketing Plan: Identifying Your Market

Integrated Skills in English ISE II

CLASS PARTICIPATION: MORE THAN JUST RAISING YOUR HAND

Giving Good Presentations. Goals of a Presentation. Importance of the Skill

Assessment of the project

30- Day List Building Plan for a blogger/affiliate marketer

Quick Guide. Oral presentations. Four-step guide to preparing oral presentations. What is in this guide. Step 1: Plan

How to write a great CV

The Bellevue Center for Obesity & Weight Management. Program Director: Manish Parikh, MD WEIGHT LOSS SURGERY INFORMATION SEMINAR

WEIGHT LOSS SURGERY INFORMATION SEMINAR

Skepticism about the external world & the problem of other minds

Lecture 1: Course Introduction"

INTRODUCTION. Just a quick word

Lab 2.1 Tracking Down the Bugs

White Paper Perceived Performance Tuning a system for what really matters

Twitter for Small Business

Assignment 1: Matchismo

Worksheet: Why your business needs a website

30- Day List Building Plan for a Software as a Service Business

Backup and Recovery Plan For Small Businesses

REALISTIC THINKING. How to Do It

Chapter 5 Instructor's Manual

How to a Stranger

BUSINESSLINE FEATURES USER GUIDE. Do more with your business phone

Club Accounts Question 6.

Post-Secondary Education and Training

When you and your students are saving your files, under the File menu of MovieMaker, save your file as a project rather than a movie:

CS 300 Data Structures Syllabus - Fall 2014

UNDERSTANDING YOUR ONLINE FOOTPRINTS: HOW TO PROTECT YOUR PERSONAL INFORMATION ON THE INTERNET

Virtualization. Explain how today s virtualization movement is actually a reinvention

Assignment 2: Matchismo 2

Spreading the word through smart communications :: How to write a press release

Writing Academic Essays at University. Philip Seaton, Hokkaido University

CNSP Logistics Practice Test

Marketing Content Creation

A crash course in credit

How To Make A Presentation In Powerpoint

Virtual Flips QUICK Start Guide

Transcription:

How to write a design document Øystein Dale oystedal@ifi.uio.no February 23, 2015

First off Writing a design document is something new for most of you. Before: Read mandatory assignment/exam description, then implement. Now: Read project description, think, design, implement.

Why do we write a design anyway? The design gives you an opportunity to do research. What is the problem? Why do we want to solve this particular problem at all? How do we solve it? How do we solve it on x86 hardware? Use the time you have available to find out all you need to know in order to implement. That will make the implementation a lot easier for you.

Who is the audience? The group teachers? You? Your partner? Imagine someone who has a bachelor in CS (someone like yourself), but hasn t taken an OS course. This should be your audience.

Important considerations for the design The design is meant to solve a problem. The design is the solution to the problem. The implementation is a proof that the design is correct. Someone else should be able to implement your design. Enough details, but not too much.

Design requirements The project description defines what the implementation must be able to do. How it does it, and how well it does it is up to you.

Have a clear outline Structure is key. Easy to see that you ve mentioned all you want to. Easy to fill in text as you go. Explain concepts before you use them in the design.

Starting off with a short introduction At most a few short paragraphs, no details or discussion. Possible questions you may answer: What is the goal of this design document? Why are we making this? What is being designed? The goal of this document is to specify the design of a bootloader for a small kernel. (etc.)

Example background for the bootloader project How do we go from a kernel on a USB stick to a running kernel on a machine? This should spawn a number of questions: What happens when we turn on the computer? What does the BIOS do for us? What do we have to do ourselves? How do we load the kernel from the USB drive? What happens if......

The questions you come up with are important. They may uncover issues that we expect you to address in the design. We will not give you hints about this unless you discuss it in the design.

Discussing multiple options In the coming projects, you ll have more freedom to discuss how to do certain things. Consider a few options, discuss the advantages and disadvantages of each one Does a certain option imply any assumptions? Does a certain option impose any limitations? Choose one, and give a reason for choosing it.

Illustrations Every good design should have illustrations, even if we don t ask you to make one. Important: Explain them with text as well. Be careful, a bad illustration leaves the reader confused. Even more confused if it s poorly explained.

Additional information Some information may not be required in the design document, but is very useful to have as a reference. Feel free to include this in the document, if you have space and time left. Examples for P1 would be: Addressing with segments (most people wouldn t know this from before) Writing to screen (several options, pick one) Additional information about INT 13h Anything else you feel would be useful to know when implementing.

Some common issues We don t know what to design Look at the project description, the slides from the project presentation, and the slides from the lectures. We have to implement it first to have a correct design If you think through your design, then you can argue whether it is correct or not. You have to use your brain for this part. You risk knowing what the solution is, but not knowing why it works. If all else fails: Ask us. We might give you some pointers. Also: The Intel manual is a nice read. See the tips & tricks page. We still don t know the solution to a problem Explain what the problem is, and ackowledge that you don t know the solution.

Conclusion Writing a design is not supposed to be the easy part of this course. Neither is the implementation. You learn a lot more if you understand the problem and the solution before you implement it. The design is meant to help you when you implement. Making a good design will give you a head start on the implementation. Please start on Wednesday or Thursday, not on Monday. #inf3151 on irc.ifi.uio.no