Software Design

Submitted by: Submitted by

Views: 382

Words: 983

Pages: 4

Category: Science and Technology

Date Submitted: 05/21/2012 12:50 PM

Report This Essay

Software Design

Dr. Fatma Meawad

Software Design

Now that we know the purpose and the

specifications of our software, we need to

design a solution for it.

So what would you do?

Analysis of the problem

● The input of the analysis are the user stories

● The output is an analysis model of the problem domain

that will help us build a solution

Simple Practice for analysis

1. Identify Nouns in your problem domain

2. Identify Verbs in your problem domain

3. Find relations/associations between

Nouns and Verbs

Example:

1- A professor can offer up to 4 courses that

could belong to multiple departments

2- A chair, in addition to being a professor

manages up to one department

3- A course can have multiple course

prerequisites

Example

Nouns

Verbs

Professor

Chair

Department

Course

manages

teaches

offers

requires

3: Associations

Draw a matrix of the nouns and fill it with

relations (verbs)

Department

Chair

manages

Professor

offered by

Course

has many

offers

is part of

Course

Professor

managed by

Department

Chair

is a

teaches

is taught by

requires

Now, the model

After the initial analysis steps and the

brainstorming activity with your whole team, it is

time to create a model of your domain

In Modeling we will use a language "UML"

Unified Modelling Language

Invented by the three Amigos: Booch,

Jackobson and Rumbaugh

Why UML?

With UML, we can create different types of

diagrams that helps us throughout the software

development process

Abstraction

● Visualising complex systems

● Deliver ideas and concepts

Generating artefacts for communication

With (customers, stakeholders, developers, etc)

Class Diagram

Objects both know things

(they have attributes) and

they do things (they have

methods)

• Classes are depicted as

boxes with three sections,

the top one indicates the

name of the class, the

middle one lists the

attributes of the class,...