208-11-software-design-conc

208-11-software-design-conc - Software Design Concepts ISE...

Info iconThis preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
Software Design Concepts ISE 208: Intermediate Programming SUNY at Stony Brook
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Design As software systems increase in size, their complexity increases exponentially To avoid problems, we need to work carefully Design objects with CRC cards Reuse existing ideas and code Software libraries Design patterns
Background image of page 2
Designing With Objects
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Identifying Objects Use the problem description to identify objects and methods for your program Nouns represent objects ( classes ) Proper nouns indicate speciFc instances Verbs represent behaviors ( methods ) Adjectives suggest attributes ( instance data )
Background image of page 4
Modeling Objects CRC ( class, responsibilities, and collaborators ) cards represent objects Each card contains a class name, its responsibilities ( on the left ) , and the helper classes it needs ( on the right ) This kind of planning can also be done on paper or a computer CRC cards are better for groups of developers
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Using CRC Cards Participants identify classes involved in a usage scenario One card per instance is put on the table Participants assign responsibilities to each class Cards are modiFed/pushed aside as the analysis proceeds Cards are never thrown away, so they can be reused
Background image of page 6
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 8
Design Patterns
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Design Patterns A design pattern describes a common problem ( scenario ) and how to solve it in an object - oriented fashion Design patterns are proven solutions They have been spotted “in the wild” ( in actual code ) and have been shown to work Many design patterns have been identiFed, and more are discovered every year
Background image of page 10
Design Pattern Goals Design patterns allow us to: reuse established designs as solutions
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 12
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 34

208-11-software-design-conc - Software Design Concepts ISE...

This preview shows document pages 1 - 12. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online