Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2....
-
Upload
paola-pillen -
Category
Documents
-
view
213 -
download
0
Transcript of Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2....
![Page 1: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/1.jpg)
Lecture Set 3E
Introduction Basic Software Development
Issues
1. Notes on Software Development2. Intro to Software Development
Tools 7/31/2008 2:43PM
![Page 2: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/2.jpg)
Slide 2
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
![Page 3: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/3.jpg)
Slide 3
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?)
![Page 4: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/4.jpg)
Slide 4
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
![Page 5: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/5.jpg)
Slide 5
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
![Page 6: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/6.jpg)
Slide 6
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
![Page 7: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/7.jpg)
Slide 7
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
![Page 8: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/8.jpg)
Slide 8
HIPO chart for an ATM withdrawal
![Page 9: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/9.jpg)
Slide 9
Expanded HIPO chart
![Page 10: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/10.jpg)
Slide 10
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
![Page 11: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/11.jpg)
Slide 11
Generic flowchart
![Page 12: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/12.jpg)
Slide 12
ATM withdrawal flowchart
![Page 13: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/13.jpg)
Slide 13
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
![Page 14: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/14.jpg)
Slide 14
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
![Page 15: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/15.jpg)
Slide 15
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
![Page 16: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/16.jpg)
Slide 16
UML Class Diagram
![Page 17: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/17.jpg)
Slide 17
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
![Page 18: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/18.jpg)
Slide 18
UML Use Case Diagram
![Page 19: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/19.jpg)
Slide 19
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
![Page 20: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/20.jpg)
Slide 20
UML ActivityDiagram
![Page 21: Lecture Set 3E Introduction Basic Software Development Issues 1. Notes on Software Development 2. Intro to Software Development Tools 7/31/2008 2:43PM.](https://reader038.fdocuments.us/reader038/viewer/2022110320/56649cba5503460f949822fd/html5/thumbnails/21.jpg)
Slide 21
“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