|
CPE484 Real-Time Systems Development
Instructor: Dr. Hany Ammar
email:
hammar@wvu.edu, Office: 246 AERB, 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 2 or 3 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): SRS-Doc Example
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
- More on Testing, Testing Strategies,
Lecture Slides 8,
Testing Techniques, Lecture Slides 9
- 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 21s,
Project:..................................................................................Reviews (Tentative Dates)
Analysis................................................................25%..........March 1st
Design................................................................20%............April
12
Detailed Design
&
Coding............................................................................
Testing &
Verification............................... .........15%......... May 7th
Project Final Report............................................10%............May 7th
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 |