Lecture Set 3E

crookpatedspongyΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 3 χρόνια και 11 μήνες)

83 εμφανίσεις

Lecture Set 3E

Introduction
Basic Software
Development Issues


1.
Notes on Software Development

2.
Intro to Software Development Tools

7/31/2008 2:43PM

Objectives


Explain the software development life cycle


Describe selected tools used to help design
software
systems


Develop some ability to use UML Activity
Diagrams in mapping out the
behavior of a
software system

Introduction to Software Development


The software development life cycle consists
of a sequence of well
-
defined steps


Problem identification


System design


System implementation


System documentation


System testing


System deployment


Postimplementation

audit


Missing from this “picture” are the “feedback”
loops
(What does this mean?)

Software Design Methodologies and Tools


Software systems should be designed before
they are implemented


As software systems become more complex, the
design process becomes increasingly important


Several methodologies exist to design software
systems


The choice of methodology is often subjective


Design tools apply some type of model to
describe the software system

System Analysis Methodologies


Pseudocode uses English
-
like statements to
depict an application’s actions


Top
-
down design is used to subdivide general
tasks into more specific tasks


Flowcharting uses graphical symbols to depict
an application’s actions


The Unified Modeling Language (UML)
supplies several graphical templates to model
a system

Pseudocode


Pseudocode uses English
-
like statements to
describe a particular task


Pseudocode is not exact



Different developers may write pseudocode differently


Pseudocode characteristics


The words “start” and “stop” denote the beginning and
end of a process


The word “if” indicates a decision


Decisions can be nested


Pseudocode used mainly for small algorithms
design


sorts, searches etc


Top
-
Down
(Hierarchical) Design


Steps


Define general tasks first


Decompose general tasks into more specific
tasks


Continue decomposing sub
-
tasks, as needed


Hierarchical Input Process Output

(HIPO) charts are used to visualize the top
-
down design process

HIPO
chart for an ATM withdrawal

Expanded
HIPO chart

Flowcharting


A

flowchart
consists of graphical symbols
that depict the processing in an application or
part of an
application


you’ve seen these
before


Each graphical symbol denotes a specific type
of operation


Flowcharting also most suitable for small
algorithms design


not for modeling more
complex systems


Even this ATM model
is not quite accurate


Generic
flowchart

ATM
withdrawal flowchart

The Unified Modeling Language (UML)


The
Unified Modeling Language (UML)

is
used to model complex software systems in a
visual way


It's one of the premier design methodologies
in use today


The UML consists of several diagrams to
model specific parts of a system


Most important because it facilitates modeling
of data and processes together

Common UML Diagrams


Class diagrams model the conceptual and
physical aspects of a system


Use case diagrams model the actors (users)
of a system


Activity diagrams show the actions performed
by the system and the order in which those
actions are performed


UML activity diagrams are similar to flowcharts

UML Class Diagrams


UML class diagrams are made up of three
sections


The top section contains the name of
a class


The middle section contains the
attributes of a
class
(data)


The operations
(class methods) appear
in the
bottom section


The data passed to an operation appears in
parentheses

UML
Class Diagram

UML Use Case Diagrams


Use case diagrams model the actors (users)
of the system


A rectangular box defines the boundaries of the
system


Stick figures define the actors


Lines connect the actors with the system's
elements


We will not get too wrapped up in this aspect
of UML until near the end of the course

UML
Use Case Diagram

UML Activity Diagrams


UML activity diagrams resemble a flowchart


A solid black circle at the top of the diagram
represents the activity’s initial state


Arrows connect activities together


A horizontal bar represents a decision


In UML terms, this is called a fork transition


A bordered black circle represents the
activity's ending state

UML
Activity

Diagram

“Relaxed” Activity diagram


Activity diagrams hold the key to our
projects.


You will need to use them in understanding
the behavior of the systems you will build


ATM
project


Game project


Transaction Processing project


I will use a relaxed version of an activity
diagram (a behavior diagram) in class

8/13/2008 10:35 PM