|
Course Information |
|
Course Description: |
The course teaches
students various stages of software development. Topics include software
systems analysis, software requirements analysis, modeling tools and methods
for analysis and design, development of a software requirements
specification document, software design guidelines and heuristics, software
testing and debugging, and the development of a software design and testing
document. |
|
Course Objectives: |
-
Learn and appreciate the basic
issues involved in the development of complex engineering software system
-
Learn tools and
techniques for requirements analysis and design and apply it within the
context of your chosen paradigm for software development.
-
Use automated tools (CASE tools), if
necessary, for your class project (s).
-
Develop a Software Requirements
Specification (SRS) and a detailed Design and Test Specification
document for your chosen project.
-
Learn to work in a
group and contribute effectively as a team member.
|
|
Prerequisites and Co-requisites: |
Proficient with programming in at least one language (C/C++/Java) is
required. Refer course syllabus for additional requirements. Practical
and Professional Issues in Computer Science, Design of Algorithms,
Foundations of Computer Science
|
PLEASE DO
NOT ENROLL IN THIS CLASS WITHOUT THESE PREREQUISITES.
CHECK WITH THE INSTRUCTOR ON ANY QUESTIONS.
Also, be sure to read the general instructions for the
class. |
|
|
Course Topics: |
Overview of software
engineering paradigms and management techniques. Detailed analysis and
design techniques software testing and debugging techniques, maintenance,
configuration management and reliability, etc.
|
Documents |
Major Topics |
Minor Topics |
Additions |
|
|
Paradigms |
Lifecycle /
Waterfall |
|
|
|
|
Spiral |
|
|
|
|
Prototyping |
|
|
|
|
Formal Methods |
|
|
|
|
CASE |
|
|
Project Proposal |
|
|
|
|
|
Metrics |
Size Oriented |
KLOC |
|
|
|
Function Oriented |
Function points |
|
|
|
|
|
|
|
Project Management |
Timelines |
Gnatt Charts |
|
|
|
Scheduling |
Pert/CPM, Cost
Projections |
|
|
|
|
|
|
|
Requirements
Analysis |
Data Collection |
Interviews,
Questionnaires, Hard data collection |
|
|
|
Problem Analysis |
What vs How, Want
vs Need |
|
|
|
State based tools |
Flowcharts, FSA,
StateCharts, Petri Nets, OO methods |
|
|
|
Data Flow tools |
DFDs, CFDs |
|
|
|
Data Oriented tools |
ER models, |
|
|
|
View Point analysis |
Warnier Orr method |
|
Software
Requirements Specification |
|
|
|
|
|
Design |
Software
Architecture |
Structure Charts,
OO notations |
|
|
|
Program Design |
PDL, Decision
trees, decision tables, Other graphical tools |
|
|
|
Data Structure
Design |
Data dictionaries |
|
|
|
Issues |
Coupling and
Cohesion, Fan-in and Fan-out, OO issues |
|
|
|
Formal
Specification |
Algebraic
Specification |
|
Software Design
Specification |
|
|
|
|
|
Testing and
Complexity |
McCabe's Measure |
Cyclomatic
complexity, Simple OO measures |
|
|
|
McCall's Quality
factors |
Product operation,
revision and transition factors |
|
|
|
White-box testing |
Path testing using
Cyclomatic complexity, logic testing of loops and conditions |
|
|
|
Black Box testing |
Equivalence
partitioning, Boundary value analysis, IO testing |
|
|
|
Other issues |
GUI testing,
verification and validation |
|
|
|
Test integration |
Top-down, bottom-up
and sandwich integration |
|
|
|
Debugging |
Brute force,
backtracking, induction and deduction approaches, Regression testing |
|
Software Test
Document |
|
|
|
|
|
Specific Course Requirements: |
- Ability to perform
independently and as a team member is absolutely essential.
- A good working
knowledge of C, C++ or Java is highly recommended. You will not be taught
programming in this class. A good knowledge of a word processing package
such as Microsoft Word.
- Each project group
will choose "specific" learning objectives on their projects based on the
question for the class. Once you have chosen a paradigm to use for
your project, you will develop a merit evaluation criteria (with my help
AND to be finally approved by me) for the your project requirements
analysis, design and implementation. During the appropriate stage of your
project, in addition to other evaluations, each project group will
virtually meet with the instructor and self-evaluate themselves along with
me!
- Question for the
class: "Internalize one of the paradigms for requirements analysis, design
and testing. Analyze, design, implement and test your project using this
chosen paradigm"
|
|
Textbooks, Supplementary
Materials, Hardware and Software Requirements |
|
Required Textbooks: |
Roger S. Pressman, “Software Engineering: A
Practitioner’s Approach", Fifth Edition, McGraw Hill. [RP]
OR
Sommerville, “Software Engineering”, 6th edition,
Addison-Wesley [IS]
(One of the above books is sufficient for the class) |
|
Supplementary Materials: |
Class notes (handouts,
etc.). |
|
Hardware Requirements: |
A Pentium class
computer with Internet access, CD-ROM, zip/floppy disks and at least 32 MB
RAM. |
|
Software Requirements: |
Real Player, Media
Player, Acrobat Reader, Microsoft Office, etc. |
|
Assessment and Grading |
|
Testing Procedures: |
Tests, assignments and
quizzes will be solely on an individual basis. Appropriate time frames for
the tests and assignments will be given. You will be responsible for turning
these in within the allocated time frame.
|
Exam (2) |
2 * 10 = 20 |
|
Quizzes (2 or more
- as often as deemed appropriate) |
10 |
|
Project (9 stages): |
70 |
|
Project Stage |
Description |
Due Date |
Project Score |
|
Project Proposal |
A 5 page
description - including group details (members, skills, etc.), the
proposed system and its functionality with appropriate block diagrams,
etc., Mutually accepted schedule / format for group meetings, project
web page location, its first cut design, web page administrator, any
other member accepted responsibilities. Failure to maintain the web site
regularly will be reason enough for losing 5 points off your grade at a
later time. |
End of Week 2 |
5 |
|
Weekly update of
member progress |
A brief paragraph
describing your contributions towards the project is due every week
after week 1. |
Every week - Latest
by Monday morning of the following week |
1 point / week /
group person for a maximum of 5 points |
|
Project Status
Review - Draft of Software Requirements Specification |
An "almost final"
draft of your SRS |
End of week 4 |
0 |
|
SRS |
The completed
version of your SRS - in word or PDF form. A power point presentation of
the SRS must be posted publicly to the class. |
End of week 5 |
20 |
|
SRS / Project
Progress Review |
Review of your SRS
document and progress as a group (all members of the group meet
virtually with the instructor) |
Week 6 |
5 |
|
Project Status
Review - Draft of Software Design/Testing Specification |
A "almost final"
draft of your SRS |
End of Week 9 |
0 |
|
Software
Design/Testing Specification |
The completed
version of your software Design/Testing Specification document - in word
or PDF form. A power point presentation of the SDS must be posted
publicly to the class. |
End of week 10 |
20 |
|
Project
Implementation |
Upload your
complete project implementation / link to your implementation |
End of Week 11 |
10 |
|
SDS / Project
Progress Review |
Final review of
your project and progress as a group (all members of the group meet
virtually with the instructor) |
Week 12 |
10 |
|
|
Grading Procedure: |
Grades will be based on
your tests / assignments and group participation. Members of a group are
required to keep the instructor aware of any interpersonal differences and
or lack of contribution by other group members in their weekly updates.
Weekly updates are also to be uploaded to the group's project web site. |
|
WebCT Discussion: |
- I will post at least 5 topics
(or items / issues) for discussion on WebCT about once every one or two
weeks. You will be given two weeks to post your "original"
messages regarding the issue after researching (readings from virtual
library search (http://www.tn.regentsdegrees.org/tvl.htm
) and/or other web
surfing acceptable). Make
sure your cite your references appropriately. Up
to 5 points can be earned for participation in the discussion (Hint!
you have to participate in at least 5 discussions).
These points will be added to your score for grade improvement at the
end of the course or used instead of a quiz at the discretion of the
instructor.
- For students taking the
class completely online: I want to be involved in at least one
of your discussion sessions before and after the midterm date (before
SRS and after SRS dates). At your convenience, arrange for me to join
your discussion and spend 30 minutes in your discussion group.
- For students taking the
class on campus: I want to be involved in at least one of your
discussion sessions before and after the midterm date (before SRS and
after SRS dates). At your convenience, arrange for me to join your
discussion and spend a session with your discussion group.
|
|
Grading Scale: |
A: 90-100
B: 80-89 C: 70-79 D: 60-69 F: < 60 |
|
Assignments and
Participation |
|
Assignments and Projects: |
The course web site
will continually be revised and students are responsible for checking into
the web site at least 2-3 times a week. Course reading assignments will be
posted on the web site and students are required to participate equally
towards the group project. Deadlines for survey papers will also be posted
on the web site. |
|
Class Participation: |
- Students must
participate in all interactive aspects of the course.
- Students in this
class must communicate with other students in the chat room through
regularly scheduled meeting times
- Students are
expected to communicate regularly with the instructor - A brief paragraph
describing your contributions towards the project is due every week after
week 1.
- Students must check
the course bulletin board frequently (2-3 times a week) for announcements
and messages.
- Students must
actively participate in threaded discussion events.
|
|
Punctuality: |
You are required to be
punctual to your group meeting times. Also you are required to be reading up
on class work as appropriate. |
|
Course Ground Rules |
|
|
-
Copying / cheating of any kind will
result in a letter grade of F to everyone involved. However coordination and
communication through accepted channels between all the students in
the class will be encouraged.
-
Due dates will not be changed
without prior permission (at least a week in advance). However, if you had
an emergency, I will make an exception with proper supporting documents.
-
You may have up to 2 students per
group for your project.
-
All tests / assignments / projects
should be typed, and the documents must be well prepared / documented.
You will not be graded for any loose sheets snail mailed to me (including
documents with clips).
-
Deadlines indicate the amount of time
and effort required both towards the completion of your assignment / project
and its documentation. Do not anticipate to complete your assignments /
projects and related documentation 2-3 days prior to the final deadlines.
I expect the group members to meet as often as necessary through
chat rooms, emails, etc. (once in 2-3 days) and be kept informed about the
progress of other members in the group. Major sections of your group work
will be evaluated on the functioning of the entire group and not based on
individual accomplishments. Therefore, be aware of persons who are
not willing to spend the appropriate amount of time. I will not entertain
complaints about irresponsible group members just before the due dates!.
-
Your weekly report is my only source
of tracking your and your group's progress. Therefore these reports must be
as complete as possible.
-
If appropriate at a later time, the
instructor reserves the right to modify any of the dates / criterion for
this course.
-
The course involves a lot of writing.
You are required to be responsible and make all efforts to organize
your thoughts and communicate effectively (within the team and in your
reports). If you do not take responsibility, your grades may be adversely
affected. Note that there are different organization styles for your
documents and there is not a unique "correct" style. I suggest that you and
your team discuss and agree on some standard document formats. If you seek
timely help, I will make all efforts to comment on your style and
organization of your documents.
-
Class notes / out of class reading
assignments are essential for the class. You are required to read all such
reading material. Read ahead, not after every class / week, to fully
understand and finish your work in time!
-
All groups will post their design
in the class web site through a power point presentation by the beginning of
week 6 and 12. All students in class (this includes your group’s evaluation
of your own work) will evaluate this final presentation. You do not have to
complete your documentation / coding, but it should provide you a chance to
gather meaningful inputs. Any good suggestions must be included in your
final implementation and the design document.
|
|
Guidelines for
Communications |
|
Email: |
- Always include a
subject line.
- Remember without
facial expressions some comments may be taken the wrong way. Be careful in
wording your emails. Use of emoticons might be helpful in some cases.
- Use standard fonts.
- Do not send large
attachments without permission.
- Special formatting
such as centering, audio messages, tables, html, etc. should be avoided
unless necessary to complete an assignment or other communication.
- Respect the privacy
of other class members.
|
|
Discussion Groups: |
- Review the
discussion threads thoroughly before entering the discussion. Be a lurker
then a discussant.
- Try to maintain
threads by using the "Reply" button rather starting a new topic.
- Do not make
insulting or inflammatory statements to other members of the discussion
group. Be respectful of other’s ideas.
- Be patient and read
the comments of other group members thoroughly before entering your
remarks.
- Be cooperative with
group leaders in completing assigned tasks.
- Be positive and
constructive in group discussions.
- Respond in a
thoughtful and timely manner.
|
|
Chat: |
- Introduce yourself
to the other learners in the chat session.
- Be polite. Choose
your words carefully. Do not use derogatory statements.
- Be concise in
responding to others in the chat session.
- Be prepared to open
the chat session at the scheduled time.
- Be constructive in
your comments and suggestions.
|
|
Web Resources: |
- Srini's web site -
www.csc.tntech.edu/~srini
- Srini's links -
www.csc.tntech.edu/~srini/links.html
- Columbia Guide to
Online Style by Janice R. Walker and Todd Taylor
- Citation Styles
Online http://www.bedfordstmartins.com/online/cite6.html
|
|
Library |
|
|
The
Tennessee Board of Regents
Virtual Library is available to all students enrolled in the Regents
Degree Program. Links to library materials (such as electronic journals,
databases, interlibrary loans, digital reserves, dictionaries,
encyclopedias, maps, and librarian support) and Internet resources
needed by learners to complete online assignments and as background
reading must be included in all courses. |
|
Students With Disabilities |
|
|
Qualified students with
disabilities will be provided reasonable and necessary academic
accommodations if determined eligible by the appropriate disability
services staff at their home institution. Prior to granting disability
accommodations in this course, the instructor must receive written
verification of a student's eligibility for specific accommodations from
the disability services staff at the home institution. It is the
student's responsibility to initiate contact with their home
institution's disability services staff and to follow the established
procedures for having the accommodation notice sent to the instructor. |
|
Syllabus Changes |
|
|
The instructor reserves
the right to make changes in the syllabus if necessary due to time
constraints or other unforeseen events. If this is necessary, members of
the class will be notified as soon as possible BY E-MAIL and / or posted on the
BULLETIN BOARD. |
|
General Instructions for the Class |
|
Please
be aware that this course is conducted totally online. As a result,
you should be certain that you feel comfortable in an online setting.
While on-campus students have the option of meeting with me on
personal appointments, others may not have this added opportunity. So
be prepared to spend the required amount of time without meeting
face-to-face with an instructor.
This
course will require between 10-12 hours of work per week
for (online browsing of lectures, completing additional reading
assignments and exploratory research). This includes viewing the
PowerPoint presentations on WebCT, taking the chapter post-tests from
the book’s web site, attending 2-3 one hour group meetings (virtual
or otherwise) every week, keeping the project web site updated every
week, etc. If you are pressed for time due to other classes, outside
work or other personal commitments, this is not the course for you. You
are expected to complete all work assigned by the published due dates.
Late submissions (without prior excuse) are not permitted and a
“0” is automatically for those portions of the course. Every
student is expected to log into the class web site as often as
possible (at least once every two days) to check for news items /
announcements.
Early in the course, you
should become very familiar with WebCT’s navigation and
communication features and have access to a computer system with
network access. Having Internet Explorer (recommended), Acrobat
Reader, Basic MS-Office applications (at least MS-Word and power
point) is a necessity. Let me know immediately if you don’t have
either of these two packages and can’t use the computer labs on your
campus. Please make sure
you cite any references (web sites, books, etc.) appropriately in your
discussions, project documents and other submissions.
Class
Discussions and Chats will take place using the WebCT communications
module. Each student is expected to participate in class discussions
and chats. Part of your grade will be based on the contributions you
make in these discussions, in addition to your group’s project
discussions and implementation.
On-Campus TTU
students will have in-class presentations during the 5th and/or 6th
weeks of class (for SRS
presentation) and 13/14th weeks of
class for SDS / implementation presentation. Additionally there
will be an introductory / orientation session during the first two
weeks of classes. RODP students are also welcome to attend, if they
find it appropriate.
|
|
[Back
to Regents Online Degrees Home] |