ASE2 CARD CATALOG ENTRY

Instructions:


ASSET OVERVIEW

UNIT NAME

SE, OOD, and OOP Courseware

VERSION
1.0a
REVIEW CODE
OK;CS(Verdix Ada;Alsys Ada;Meridian Ada;DEC Ada);ES
INET ADDRESS
hcarter@vlsisun.ece.uc.edu, rconn@vlsisun.ece.uc.edu
AUTHOR
Harold Carter, Richard Conn
Department of Electrical and Computer Engineering
University of Cincinnati
Mail Location 30
Cincinnati, Ohio 45221-0030
513/556-4781 (Harold Carter, work)
RIGHTS
PUBLIC DOMAIN
COPYRIGHT
None
DATE CREATED
August, 1992
DATE RELEASED
6 May 1993
DATE LAST UPDATED
2 Feb 1994
LOCATION
ASR and mirror sites
ASSET
PAL
ENVIRONMENT
DEC VAX/VMS, DEC Ada
Sun SunOS 4.x, Alsys Ada
Sun SunOS 4.x, Sun/Verdix Ada
ENVIROMENT
PC, MSDOS 3.3 or greater, Alsys Ada
LIMITATIONS
None

CLASSIFICATION

KEYWORD
OOP
OOD
SE
INDEX
Software Engineering with Ada
Software Engineering Ada Lab
Object-Oriented Design
Object-Oriented Programming
Course, Software Engineering
Course, Object-Oriented Dsgn
Course, Object-Oriented Prog
C++
Carter, Harold
Conn, Richard
Univ of Cincinnati
DEPENDENCIES
None
SEE ALSO
MANIFEST.TXT in C01RDME.ZIP
SHORT DESCRIPTION
Courseware on Software Engineering, OOD, OOP
TAXONOMY


COURSEWARE
    SOFTWARE ENGINEERING
      SE, OOD, and OOP


COURSEWARE
    OBJECT-ORIENTED DESIGN


COURSEWARE
    OBJECT-ORIENTED PROGRAMMING 1


FILE LISTING

FILE SPECS
Click here to enter Asset Directory/transfer Asset File(s): ../../ase02_01/crsware/c01
DIRECTORY DISPLAY
Follow path to see directory

ABSTRACT

Courseware on Software Engineering,
Object-Oriented Design,
Object-Oriented Programming

INTRODUCTION

This courseware consists of three courses: Software Engineering with Ada (including a Lab), Object-Oriented Design, and Object-Oriented Programming with Ada and C++. These courses are designed to be taught as a sequence: Software Engineering with Ada, Object-Oriented Design, and Object-Oriented Programming with Ada and C++. See the file MANIFEST.TXT in C01RDME.ZIP for a detailed description of all documents and code provided with each course. See the C01RDME.ZIP file for other useful introductory material as well. Texts for these courses are:

All documents are provided in two formats: the original word processor format (to facilitate editing and tailoring as desired) and Postscript. The following tools are required to edit all the documents:

All courseware (documents, code, etc) is provided in *.ZIP files. These files can be unpacked (each in its own directory) by using PkWare's PKZIP/PKUNZIP 1.1 or equivalent (Info-ZIP's zip and unzip also work). A validated Ada83 compiler is required to compile the Ada source code. We have successfully compiled and run/used all provided Ada source code on a Sun using Sun Ada/Verdix Ada, on a Sun using Alsys Ada, on a PC using Alsys Ada, and on a DEC VAX/VMS using DEC Ada. We suspect that the code should be transportable to other validated Ada compilers as well.

COURSE 1. SOFTWARE ENGINEERING WITH ADA

Software Engineering with Ada (which includes a Lab) is an introductory course in software engineering. It covers the following principal topics: an introduction to the concept of software engineering, software project planning, software requirements analysis, software design and software design methodologies, coding, testing, and delivery and maintenance. There is a heavy emphasis in the Ada programming language and how it supports various aspects of the development of an engineered software system.

The laboratory portion of the course reinforces the lecture by making the students, as 2-3 person teams, prepare a software development plan, a software requriements specification, a software design document, a software user's manual, and IV&V reports. Templates, based on DoD-STD-2167A DIDs, are provided to facilitate the creation of these documents.

Five student projects are included, and three of these projects are oriented to making the students design software which interacts with a system simulator. Three working system simulators, written in Ada, are included: a spacecraft monitoring simulation, an automobile simulation, and a buoy simulation.

The student projects are supported by a reusable components library, called CS Parts, as well as the three simulators. CS Parts contains a large number of basic components, such as a math package, linked list packages, string manipulation packages, and more advanced components, such as a VT100 interface and a report generator. On the average, students find that approximately 85% of the code in their problem solutions is reused from CS Parts. Such a high level of reuse greatly speeds project development, making it practical for a student team to generate all the required documents and working code in a 10-week lab period.

Since this is a software engineering course, it is not desired to take much time to teach the Ada language itself. Three aids are provided to assist the students not proficient in Ada to learn it outside of class: an online Ada Language Reference Manual Reader, an interactive Ada language tutorial, and a workbook on the Ada language which includes 24 solved problems.

An online Ada Language Reference Manual Reader, written in Ada, is included as a working program, complete with a detailed Software Requirements Specification, Software User's Manual, and Software Design Document. These documents provide models for the students to follow in the construction of the documents for their projects as well as food for discussion in class. Additionally, the online Ada Language Reference Manual Reader can be used by the students, thereby eliminating the need for them to purchase copies of this document. A ready-to-run executable of this reader for the IBM PC and its clones is included as well as the source code in Ada.

An interactive tutorial on the Ada language, written in Ada, is included. This is a shareware product and funding should be provided to the author should the instructor decide to use it for his class. A workbook on the Ada language, which includes 24 short problems and their solutions, is included.

COURSE 2. OBJECT-ORIENTED DESIGN

The Object-Oriented Design course covers the following topics: a review of key concepts from Software Engineering, graphical notation used as a basis of communication, the object model (with emphasis on applying the Spiral Model of software development), and object classification. This course is a lecture-only course. Students are required to create object-oriented requirements and design documents based in part on DoD-STD-2167A.

COURSE 3. OBJECT-ORIENTED PROGRAMMING

The Object-Oriented Programming course covers the following topics: a review of key topics in Software Engineering and Object-Oriented Design, graphical notation, the object model, and an overview of the Ada and C++ languages, concentrating on the features of each.

This course is a lecture/lab course, and the lab consists of a single project to be solved by several 2-5 person student teams: create a reader for the Ada Language Reference Manual using the Spiral Model of software development and object-oriented techniques. Students are required to create an object-oriented software requirements specification and software design document as well as write the code of the solution. The teams are divided into two groups: one uses Ada as an implementation language during the first iteration of the spiral and the other uses C++. Half way through the class, the teams who developed in Ada inherit the code and documents created by a C++ team and the teams who developed in C++ inherit the code and documents created by an Ada team. A long discussion period is set aside at the end of the class to discuss lessons learned from inheriting code from others in each language and to compare the students' designs with the design of the Ada LRM Reader provided with the Software Engineering class. An Ada workbook and a C++ workbook are included as material for this course. Material from the Software Engineering course may be reused for this course as well.

CREDITS

Development of the Software Engineering course was funded by the Ada Joint Program Office through DARPA/CMO 91-18 (Curriculum Development in Software Engineering and Ada) as announced in the 16 July 1991 issue of the Commerce Business Daily. We wish to thank the AJPO and DARPA/CMO for their support and interest in this project. Work was done jointly by Professor Harold Carter and Professor Richard Conn.

Development of the Object-Oriented Design and Object-Oriented Programming courses was funded by the University of Cincinnati, Department of Electrical and Computer Engineering. Work was done by Professor Richard Conn. We also wish to thank the manufacturers who worked with us to bring their products into the university environment for our use and the use of our students at a very reasonable cost. Those manufacturers are Microsoft, Interleaf, PkWare, Sun, Verdix, Alsys, DEC, and John Herro.


REVISION HISTORY

DATE         VERSION AUTHOR                       HISTORY 
05/06/93     1.0     Harold Carter, Richard Conn  Initial Release
06/17/93     1.0     Harold Carter, Richard Conn  Release to PAL

RELEASE NOTICE

This software is released to the Public Domain (note:
  software released to the Public Domain is not subject
  to copyright protection).
Restrictions on use or distribution:  NONE; Distribution Unlimited

DISCLAIMER

	This courseware, software, and documentation are provided "AS IS"
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
	The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.

ASE CARD CATALOG ENTRY NAVIGATION

Powered by the Generic Web-Based Reuse Library (GWRL)