Submitted by: Submitted by nourhanElmalahy
Views: 382
Words: 983
Pages: 4
Category: Science and Technology
Date Submitted: 05/21/2012 12:50 PM
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,...