Lecture 3 PowerPoint

advertisement
BIT 286:
Web Applications
Software Design Documents
2
Info Needed To Plan a Software Project
 From What is a software design?
1. “a description of the business requirements or needs”
2. “a description of how these requirements will map to a set of features
and how the features will work from the perspective of the customer”
3. “a description of how these features will be
implemented and the work list breakdown for implementing them”
4. “a description of how the implementation will be validated.” [I.e.,
testing]
 We’ve merged #1 & #2 into the SRS
 #3 is called a “software design document”
 We’ll put the work breakdown structure off till next week (along with
Gantt charts)
3
SDD (or ‘design doc’)
 “A design document is a way for you to communicate to
others what your design decisions are and why your
decisions are good decisions. Don’t worry if your design
is not UML compliant and don’t worry if you didn’t use a
special modeling tool to create it. The biggest factor that
determines if your design document is good is whether
or not it clearly explains your intentions.” – Scott Hackett
 How the software will be structured, sure, but also:
 Peer Dev: “make sure that your ideas are valid and that your
approach works with what others are doing.”
 Manager: “[list] what the main entities of the system are, what
the benefits are and, most importantly, what the risks are”
4
 For each decision write down:
 why it’s necessary (based on the requirements)
 Benefit
 Risks
 – Scott Hackett
5
What is typically included?
 Wikipedia (surprisingly short read)
1. The data design describes structures that reside within the software. Attributes
and relationships between data objects dictate the choice of data structures.
2. The architecture design uses information flowing characteristics, and maps them
into the program structure. The transformation mapping method is applied to
exhibit distinct boundaries between incoming and outgoing data. The data flow
diagrams allocate control input, processing and output along three separate
modules.
3. The interface design describes internal and external program interfaces, as well
as the design of human interface. Internal and external interface designs are
based on the information obtained from the analysis model.
4. The procedural design describes structured programming concepts using
graphical, tabular and textual notations. These design mediums enable the
designer to represent procedural detail, that facilitates translation to code. This
blueprint for implementation forms the basis for all subsequent software
engineering worked.
What is typically included?
1.
6
2.
System overview
 May be copied from SRS
System Architecture
 What are the big ‘areas’ of your program, what do they do, and how do they interact?
3.
Data Design
 Database schema, interconnections amongst tables
4.
Component Design Details
 Detailed, step-by-step explanation of how stuff works for programmers
 Can be done in pseudocode
5.
Human Interface Design
 Show how the user will use the system
 Include images – hand-drawn, Paint.Net, Photoshop, or mock-ups in HTML (show the browser’s
rendering)
 Goal is to explain functionality – the ‘look and feel’ can/will be changed as you go
6.
Requirements Matrix
 For each component listed above write out which requirement (in your SRS) it satisfies
 From http://www.atilim.edu.tr/~dmishra/se112/sdd_template.pdf
7
What should we include?
Are these applicable to
ASP.Net WebForms
programs?
1.System overview
2.System Architecture
3.Data Design
4.Component Design Details
5.Human Interface Design
Try this – list a couple of
6.Requirements Matrix requirements & where they’re
addressed and then let’s see
if it’s actually useful for us
8
 Mockups:
 ‘map’ page of thumbnails with clear, simple abbreviations
 Individual ‘here’s a page’ images, with additional explanation as needed
 Also show ‘work flows’
 start at page X, do stuffX
 then go to page Y, do stuffY
 then end on page Z
 One workflow per requirement?
9
How to edit .PDF files
 Google for ‘Pdf to Word’
 There’s a couple of options
 I personally don’t like the idea of installing software to do this…
 …But I’m ok with handing out my email address for the
conversion 
Download