|
CPE484 Real-Time Systems Development
Instructor: Dr. Hany Ammar
email:
hammar@wvu.edu, Office: 739 ESB, Phone: 293-9682
Prerequisites:
CS 110 and CS 111
Recommended Text: Software Engineering for Real-Time Systems, Jim Cooling, Addison Wesley; ISBN-10: 0201596202, ISBN-13: 978-0201596205, Nov. 2002.
References:
1. Just Enough Structured Analysis, Ed. Yourdon, on-line book, http://yourdon.com/strucanalysis/wiki/index.php?title=Table_of_Contents
2. Real-Time Systems Design and Analysis, 3ed., P. Laplante, IEEE Press, 2005.
.
Course Description:
This is a project-based course focused on software development with an emphasis
on analysis and design of software for real-time systems. The course starts by
defining real-time systems and describing their characteristics and unique
attributes. The software life-cycle phases are then briefly described in the
context of the Mil-STD-498 software development standard. The analysis and
high-level design phases of development are then covered by describing the
structured analysis and design techniques. Detailed design and implementation
using C or C++ are then addressed followed by coverage of testing, verification
and validation techniques and tools. A computer-aided software engineering
(CASE) tool is used throughout the project. A term project, and a mid-term
examination are used to assess the students learning process. The term project is
to be done in teams of 3 or 4 students and it starts very early in the semester
during the second or third week. In-class Project Presentations and reviews
will be conducted according to the schedule given below.
Goals: The learning
outcomes of this course are listed as follows:
The student should be able to:
1.
Specify the characteristics of real-time
software and identify unique attributes and problems related to the software
development for real-time systems using specific examples.
2.
Use a CASE tool to:
o Correctly
analyze the software requirements of a complex real-time system and develop a
specification based on Structured Analysis for Real-Time systems (SART)
o Develop
and verify a high level design according to the specification obtained in the
previous step.
o Develop
a detailed design and implementation using C or C++.
3.
Develop a detailed design and implement and
test using scenario-based testing a component of a complex real-time system
design
If
time permits, the students will be able to
4.
Identify techniques used in the analysis and
prediction of the timing behavior of a system based on detailed design. Specify
examples of using such techniques for assessing design tradeoffs and
troubleshooting the system timing behavior.
5.
Identify tasks and techniques used for
software verification and validation at the early stages of the software
life-cycle.
Topics: (Notes and Lecture Slides)
- Introduction to Real-Time Systems
-
Introduction to Software Engineering and the Software
Life Cycle
Lecture Slides 2 on
system and software engineering development process
Lecture Slides 3 on
Software development standards, and ICASE environments
-
System and Software Requirements Analysis
(Notes: Chapter 3, Section1,
the SRS document pdf file):
o
Structured Analysis for Real-time
Systems. (Notes: Chapter 3 Section 2, SART notation pdf
file)
Lecture Slides 4, The SRS document, and SART Notation
- Project Requirements Analysis Review
- High-level Design (Notes: Chapter 4)
Lecture Slides 5, Software
Design Document and Design Criteria
Lectures
Slides 6, Structured
Design Techniques
- Project: High-level Design Review
- Lecture Slides 7, Detailed Design, Implementation, and
Testing
- Project: Detailed Design and Testing Review
Computer
Usage: Students will be required to use
graphical tools to support the SART/SD notation such MS Visio or Smart Draw.
Grading:
Attendance
...................................5%
Mid-Term
Exam..................................................25%, tentative date: Thursday
April 19,
Project:..................................................................................Reviews
Analysis................................................................25%..........Feb 28
Design..................................................................20%............April
10
Detailed Design
&
Coding............................................................................
Testing &
Verification...........................................15%......... April 26
Project Final Report................................................10%.............May 5
The project will be conducted by
groups of 2 or 3 students. Reports on projects will be required from each group
after each phase. The final report should summarize the whole project and show
the testing results, and give a section on problems encountered and lessons
learned during the software development process. It is expected that students
will participate equally in the work of the group. Group meetings minutes
specifying the attendees should be included, and the contribution of each
student must be documented in each report.
|
© COPYRIGHT 2004 ALL
RIGHTS RESERVED YOURDOMAIN.COM |