Home > Archive > Software Engineering > June 2006 > DFD/Structured Analysis in Software Engineering Course
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
DFD/Structured Analysis in Software Engineering Course
|
|
| mflll@wiu.edu 2006-05-16, 7:08 pm |
| I request the advice, insight, and experience of this audience to
help me decide whether I should continue including Structured Analysis,
that is, data flow diagrams, structure diagrams, Yourdon methods, in
my graduate Software Engineering course. In 1999 and 2005, I
emphasized
UML including Rational Rose, for which we fortunate to receive an
educational
grant from Rational and then IBM.
I also taught Structured Analysis using Visible Analyst. The question,
is whether we should continue to do this in Fall 2006 and subsequent
semesters.
Teaching both software representation aids may improve the ability
to learn others that the student may see in their development:
Boehm-Davis et. al. found in their
article on the "role of program structure in software maintenance"
of 1992 found that the time required to solve three maintenance
problems was decreased for programemrs who knew more languages,
more design methodologies and number of operating systems.
Interestingly enough, years of programming experience and
years of post-secondary education did not improve performance.
(This might open up a related thread; should a course on X have
students use several different packages on X. E. G., should a database
course the students several different database management systems,
perhaps using different paradigms, or should they just concentrate on
teaching one to avoid overloading the students.)
The research output on Structured Analysis is shrinking.
I searched ABI-Inform and from 2001-2006, there were nine articles
on "Structured Analysis" as a keyword There were twenty articles from
1995-2000
By comparison, Object-oriented Analysis generated thirty-one articles
from 1995-2000 and ten articles from 2001 to 2006. However, there
were 141 articles on UML.
According to the 2004 Third Quarter Standish Group Research Report,
36% of the projects are developed from scratch using "traditional
languages and methodologies" and 19% are using object methodologies.
(The remainders are various modification and integration projects.)
By comparison in 2001, the Standish group reported the 33% using
traditional methods and 13% developed using object models.
Thus traditional methods are shrinking in market share but are still
more frequently used than the new object-oriented methods.
Reference:
Boehm-Davis, Deborah A., Robert W. Holt and Alan C. Schultz
"The Role of Program Structure in Software Maintenance"
International Journal of Man-Machine Studies (1992) 36 21-63.
Appendix:
I searched for structured analysis in comp.sofware-eng.
November 12 2001 comp.software-eng discussed this question but
the responses focussed on the fact that UML is not all of
Objected-Oriented Software Engineering and the relation to DOD projects
In April of 2002, there was a nice discussion of DFD's. There was
a nice discussion of the differences between requirements and
specifications
with an enlightening discussion of the military standards such
MIL STD 498 and IEEE/EIA 12207.
However, it is clear that most of the postings on "structured anlaysis"
were from last century.
A search of this group for "dataflow diagram" revealed only nine
articles, but
there were 188 under "DFD." It appears that some are using DFD's
without the rest
of Structured Analysis. One mentioned using it as a "brainstorming
tool."
Many of the articles were this century, including 2005.
Dr. Laurence Leff, Associate Professor of Computer Science, WIU, Macomb
IL 61455
Pager 309 367 0787, fax 309 298 2302
| |
| Mark Woyna 2006-05-16, 7:08 pm |
| I would drop any in-depth coverage of the topic, but mention it in a
"Overview" or "Survey" section.
Are there other required courses where the students would get
additional exposure to object-oriented A&D? If so, then you could
probably get away with less emphasis on OOA&D. However, if this course
is the only presentation of OOA&D, I wouldn't short-change it for equal
coverage of structured analysis.
Does the Database Systems course (470) spend any significant time
covering the network and hierarchical models, or are they briefly
covered?
Mark Woyna
| |
| H. S. Lahman 2006-05-16, 7:08 pm |
| Responding to Mflll...
> I request the advice, insight, and experience of this audience to
> help me decide whether I should continue including Structured Analysis,
> that is, data flow diagrams, structure diagrams, Yourdon methods, in
> my graduate Software Engineering course. In 1999 and 2005, I
> emphasized
> UML including Rational Rose, for which we fortunate to receive an
> educational
> grant from Rational and then IBM.
>
> I also taught Structured Analysis using Visible Analyst. The question,
> is whether we should continue to do this in Fall 2006 and subsequent
> semesters.
I think you've answered your own question. B-) Structured techniques
are obviously still being used and you are in the education business.
That means you are tasked with preparing your students for the realities
of the industry. So I think the real question is how much emphasis you
want to place on it and what the context should be vis a vis OO or
functional programming paradigms.
FWIW, I think it is valuable to understand structured methods even if
one is going to do OO or functional programming. One needs to
understand why the approaches are different. For example, the DFD lives
on in UML in Interaction and Activity Diagrams. There are some new
bells & whistles, the cosmetics are different, and the surrounding
context is very different, but the basic DFD structure is clearly there.
*************
There is nothing wrong with me that could
not be cured by a capful of Drano.
H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
| |
| Mark Woyna 2006-05-17, 7:03 pm |
| If the course was exclusively devoted to Analysis and Design, I would
certainly spend time on structured techniques. However, the course
appears to be a general software engineering course, and as such covers
quite a range of topics. I imagine that there's not enough time to
cover several flavors of A & D.
I believe the chief objective is to introduce the students to the basic
concepts of analysis and design, and demonstrate the techniques with
some form of notation, e.g. UML. While structured analysis is still
being used, the industry has clearly moved towards OOA&D.
Mark
| |
| H. S. Lahman 2006-05-17, 7:03 pm |
| Responding to Woyna...
> If the course was exclusively devoted to Analysis and Design, I would
> certainly spend time on structured techniques. However, the course
> appears to be a general software engineering course, and as such covers
> quite a range of topics. I imagine that there's not enough time to
> cover several flavors of A & D.
>
> I believe the chief objective is to introduce the students to the basic
> concepts of analysis and design, and demonstrate the techniques with
> some form of notation, e.g. UML. While structured analysis is still
> being used, the industry has clearly moved towards OOA&D.
<hot button>
I don't know where it goes in a particular curriculum, but I think it is
crucial that CS students graduate with some understanding of why SA/D/P,
OOA/D/P, P/R, and FP are fundamentally different software construction
paradigms. I think that is the most important single topic in a CS
education; sort algorithms, OS virtual memory managers, data structures,
and whatnot are all secondary implementation mechanisms compared to
design paradigms.
Our profession is still rapidly evolving. Today's students will have to
lead that evolution in the decades to come. Understanding the
fundamental differences in construction approaches -- even obsolete ones
-- will be essential to improving the profession.
</hot button>
*************
There is nothing wrong with me that could
not be cured by a capful of Drano.
H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
| |
| David Lightstone 2006-05-17, 7:03 pm |
|
<mflll@wiu.edu> wrote in message
news:1147802982.642022.152110@u72g2000cwu.googlegroups.com...
>I request the advice, insight, and experience of this audience to
> help me decide whether I should continue including Structured Analysis,
> that is, data flow diagrams, structure diagrams, Yourdon methods, in
> my graduate Software Engineering course. In 1999 and 2005, I
> emphasized
> UML including Rational Rose, for which we fortunate to receive an
> educational
> grant from Rational and then IBM.
>
> I also taught Structured Analysis using Visible Analyst. The question,
> is whether we should continue to do this in Fall 2006 and subsequent
> semesters.
>
> Teaching both software representation aids may improve the ability
> to learn others that the student may see in their development:
> Boehm-Davis et. al. found in their
> article on the "role of program structure in software maintenance"
> of 1992 found that the time required to solve three maintenance
> problems was decreased for programemrs who knew more languages,
> more design methodologies and number of operating systems.
> Interestingly enough, years of programming experience and
> years of post-secondary education did not improve performance.
> (This might open up a related thread; should a course on X have
> students use several different packages on X. E. G., should a database
> course the students several different database management systems,
> perhaps using different paradigms, or should they just concentrate on
> teaching one to avoid overloading the students.)
>
> The research output on Structured Analysis is shrinking.
> I searched ABI-Inform and from 2001-2006, there were nine articles
> on "Structured Analysis" as a keyword There were twenty articles from
> 1995-2000
>
> By comparison, Object-oriented Analysis generated thirty-one articles
> from 1995-2000 and ten articles from 2001 to 2006. However, there
> were 141 articles on UML.
>
>
You really have to ask yourself - Are you preparing students for an academic
career, or a profession?
The number of publications by approach is meaningful only for those eager to
follow the crowd.
The question of interest, is whether UML is capable of representing either
the architecture or design for the various prototype problems that you
expect your students to be able to address.
That having been stated I very strongly suggest you evaluate the limitations
of UML before deciding to drop other approaches suitable for purposes of
describing a system. As a starting point consider examining the book
Documenting Software Architectures by Paul Clements et. al. Contained
therewithin are a number of interesting observations. I shall quote a few
so that you may be able to discern the issue.
(1) from page 87
"Sadly, UML has no built-in primitive corresponding to a layer. However,
nonsegmented layers can be represented in UML using packages ..."
That having be stated how difficult would it be for you to prepare a UML
model for the structure of THE multiprogramming system (E Dijkstra). Do you
think someone as skilled as Dijkstra (deceased for several years now) would
be able to develop a UML model for THE multiprocessing system?
(2) from page 88
"Elements can be owned by - that is, appear in - only a single package. If
an element needs to be a member of a layer and a subsystem, for example,
packages can not be used top represent both; ..."
I can not be certain if you would want to do this (i.e. have an design
element both within a layer and a subsystem), but some who advocate
incremental development might need to do it. This if only to identify the
increments (the versions would correspond to the subsystems). The
alternative would probably be a rather nasty version management (at the
level of UML diagrams) problem
(3) from page 88
"It is not clear how to represent callbacks within UML."
A system that makes extensive uses of callbacks would be the X-Windows
System. How would you model the X-Windows System in UML?
Those things having been mentioned. What impact does all of this have upon
Model Driven Development (i.e. executable UML)?
"
| |
| info@excelsoftware.com 2006-06-05, 7:06 pm |
| David Lightstone wrote:[color=darkred]
> <mflll@wiu.edu> wrote in message
> news:1147802982.642022.152110@u72g2000cwu.googlegroups.com...
Part of my job over the last 10+ years has been to provide onsite
training to large industrial and defense companies that use WinA&D for
upfront analysis & design of software systems.
Companies that do alot of desktop applications or business systems tend
to use UML, but those doing multi-tasking, real-time systems tend to
use structured analysis & design. Data flow diagrams and structure
charts are popular on firmware projects where the software is tightly
integrated with the hardware.
Data flow diagrams are sometimes used during the very front end when
analyzing the problem and information flow in larger systems, even when
UML will eventually be used for the software design.
Harold Halbleib
Excel Software
www.excelsoftware.com
|
|
|
|
|