Top Banner
SOFTWARE DESIGN By Chowdhury Mohammad Ashikur Rahman WELCOME TO THE PRESENTATION ON 1
20
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software design (SWEBOK3 Knowledge area)

SOFTWARE DESIGN

By

Chowdhury Mohammad Ashikur Rahman

WELCOME

TO

THE PRESENTATION ON

1

Page 2: Software design (SWEBOK3 Knowledge area)

OVERVIEW

SOFTWARE DESIGN

FUNDAMENTALS

KEY ISSUES IN

SOFTWARE DESIGN

SOFTWARE STRUCTURE &

ARCHITECTURE

USER INTERFACE DESIGN

SOFTWARE DESIGN QUALITY

ANALYSIS & EVALUATION

SOFTWARE DESIGN NOTATIONS

SOFTWARE DESIGN STRATEGIES

& METHODS

SOFTWARE DESIGN TOOLS

2

Page 3: Software design (SWEBOK3 Knowledge area)

1.SOFTWARE

DESIGN

FUNDAMENTALS

A Design can be considered

as a form of solving

problems

General Design And Concepts

of

Software Design

Software Design ProcessSoftware Design Principles

3 [swebokv3]

Page 4: Software design (SWEBOK3 Knowledge area)

General Design And Concepts of

Software Design

Software Design Process

Architectural design

Detailed design describes the desired

behaviour of these components

Software design principles

Goals, Constraints, Alternatives,

Representation etc.

Coupling & Cohesion;

Decomposition & modularization;

Encapsulation;

Sufficiency, completeness & primitiveness;

Separation of concerns etc.

4 [BUD03][SOM11][PAG99]

Page 5: Software design (SWEBOK3 Knowledge area)

2.KEY ISSUES IN

SOFTWARE

DESIGN

RELIABILITY

USABILITY

5 [SWEBOKV3]

Page 6: Software design (SWEBOK3 Knowledge area)

OTHER ISSUES

CONCURRENCY

Interaction,

Presentation &

Distribution of

components

Decomposing software into design,

task & deals with efficiency, Atomicity,

scheduling etc.

Concerned with how to handle long-lived data.

Structure & organize interactions with users

along with the Presentation of information.

How to prevent, tolerate, and process errors &

deals with Exceptional conditions.

6 [SOM11][BRO08][ALL08]

Page 7: Software design (SWEBOK3 Knowledge area)

3.SOFTWARE STRUCTURE

&

ARCHITECTUE

The set of structures needed

to reason about the system

7[CLE10]

Page 8: Software design (SWEBOK3 Knowledge area)

Creational patterns, Structural patterns &

Behavioural patterns.

Creative process. A number of fundamental

Decisions are required during the design.

Logical view vs. process view vs.

physical view vs. development view

General Structures;

Distributed Systems;

Interactive systems;

Adaptable Systems etc.

Reuse of software design &

Components By identifying

the commonalities8

[SOM11][CLE10][GAM94]

Page 9: Software design (SWEBOK3 Knowledge area)

4.USER INTERFACE

DESIGN

The user interface should be

Designed to match the skills,

Experience and expectations

Of its anticipated users.

9[SWEBOKV3]

Page 10: Software design (SWEBOK3 Knowledge area)

General User Interface

Design principles

User Interface Design

Issues

The design of User

Interaction Modalities

design of information

presentation

User Interface design

process

Localization &

Internationalization

Metaphors & conceptual

Models

There also belong....

10 [SOM11][NIE93]

Page 11: Software design (SWEBOK3 Knowledge area)

5. Software Design

Quality Analysis &

Evaluation

Quality attributes

Quality analysis &

evaluation techniques

Measures

Maintainability, Portability, Usability,

Testability etc.

Software design reviews;

Static analysis;

Simulation & prototyping.

Function based & object oriented

11 [BUD03][SOM11]

Page 12: Software design (SWEBOK3 Knowledge area)

6.SOFTWARE DESIGN

NOTATIONS

Software design is often

accomplished Using multiple

Notations...

12[SWEBOKV3]

Page 13: Software design (SWEBOK3 Knowledge area)

Few words on software design notations....

Notations represent software design artefacts. Some are used to describe

The structural organization of a design & rest others to represent the

Software behaviour. Certain notations are used mostly during architectural

Design. For instance, a email class diagram:

MAIL SYSTEM

AUDIO/

VIDEOCOMMUNICATION

13

[BUD03][SOM11][PAG99][BRO08][CLE10]

Page 14: Software design (SWEBOK3 Knowledge area)

7.SOFTWARE

DESIGN

STRATEGIES

&

METHODSGeneral strategies

Function oriented

structured design

Object-oriented design

Data-structured centred

design

Component based design

14 [BUD03][SOM11][BRO08]

Page 15: Software design (SWEBOK3 Knowledge area)

8.SOFTWARE DESIGN

TOOLS

15[cle10]

Page 16: Software design (SWEBOK3 Knowledge area)

Software designing tools support the part

or whole of the following activities:

To translate the requirements model

Into a design representation.

To provide support for representing

Functional components and their

Interfaces.

To implement heuristics refinement and

Partitioning.

To provide guidelines for quality

Assessment.

16[CLE10]

Page 17: Software design (SWEBOK3 Knowledge area)

SUMMARY

Among many software development steps software design is almost the

foremost requirement of Further software construction.

Software design does not ensure or measure the success or failure of A

software but it delivers the whole instruction set to the developers.

It provides the nifty idea of a Complete software construction.

Finally, knowledge of software design might be beneficiary during The

software development which would end up with a successful and

complete software.

17

Page 18: Software design (SWEBOK3 Knowledge area)

1. T. DeMarco,”The Paradox of Software Architecture and

Design”, Stevens Prize Lecture, 19902. D. Budgen, Software Design, 2nd ed., Addison-Wesley, 2003

3. I. Sommerville, Software Engineering, 9th ed., Addison-

Wesley, 2011

4. M. Page-Jones, Fundamentals of Object-Oriented Design in

UML, 1st ed., Addision-Wesley, 1990.

5. J.G. Brookshear, Computer Science: An Overview, 10th ed.,

Addison-Wesley, 2008

18

Page 19: Software design (SWEBOK3 Knowledge area)

6. J.H. Allen et al., Software Security Engineering: A Guide

for Project Managers, Addison-Wesley, 2008

7. P. Clements et al., Documenting Software Architectures:

Views and Beyond, 2nd ed., Pearson Education, 2010.

8. J. Nielsen, Usability Engineering, Morgon Kaufmann, 1993.

9. Email class diagram: (slide 13)

http://creately.com/diagram/example/h0qvwe791/Class+

Diagram+of+Email+System

10. luiscastellanos.files.wordpress.com/2007/03/swebokv3.pdf

19

Page 20: Software design (SWEBOK3 Knowledge area)

THANKS

20