COMP 586
Object-Oriented Software Development.
Fall 2008
Dr. Shan Barkataki,
Computer Science Department, CSUN
email: shan @
csun . edu (preferred) Office : JD 4449 ( 818-677-2733)
Remove spaces to get my actual email address
|
COMP
586 |
14519 |
M |
19:00 –
19:45 |
JD3510 |
Office hours: M
15:00-16:15 W 18:50-19:20, email at any time.
Synopsis: You will learn about developing
software systems using current methods and techniques using UML-II. You will create software design solutions
using UML-II and CASE tools. You will
participate in a group project to create the analysis and design models for a
moderately complex software intensive system.
You will
learn useful software engineering skills. Expect to spend a minimum of 6 hours per week
for this class (3 hours class time, 3 hours doing homework, research, project
work and self-study).
Prerequisites: Comp380/L
and Comp322/L or equivalent. Concurrent
enrollment in the prerequisite classes is not acceptable. In general, work experience cannot be
substituted for academic prerequisites.
You need to have good comprehension of the prerequisite material and
adequate skills in reading and writing English.
Lack of proper preparation is the primary reason for students failing
this class. Recommended but not essential : CS 432 - Object Oriented
Programming
Attendance: To pass this class you will need to attend
class sessions regularly class attendance and lab work will be needed. You will not pass this class just by reading
the book. If you have a work or family
conflict that will not allow you to attend class regularly and do the
assignments in a timely manner, then
consider dropping this class now and taking it in future.
Text book:
Real
Time UML: Real Time UML Third Edition Advances in the UML for Real-Time
Systems. Addison-Wesley ISBN
0321160762 Please make sure that you
get the 3rd edition. The 1st and the 2nd
editions use UML 1.x and are of no use in this year's class. You will need the text book from the second
week onward. I have seen web prices
from $26 to $104! Online orders often
take two weeks for delivery. Publisher's website:
http://www.aw-bc.com/catalog/academic/product/0,1144,0321160762,00.html
Course notes: PDF format files will be available from
instructor for downloading via webCT.
The course notes supplement the text book, not replace it.
Internet
access: You will need fast internet access to use the
digital libraries and to do other searches.
Fast internet access is freely available at CSUN in labs, library and
through wireless.
WebCT: webCT (webteach.csun.edu) will be used for course notes and
assignments. If you are enrolled in this
class then I will register you in webCT.
Turnitin.com: Many homework assignments and the research
paper will be submitted via turnitin.com
See the instruction & tutorial at http://www.turnitin.com/ You will need to self register- I will
provide the class code and password in
class or email. When you register at
turnitin.com, please use your CSUN email address. (An email address like kissmeqwik@yahoo.com
leaves me clueless about who you are and your submissions may not get graded
Email: I use the email a lot. All class announcements (including course
notes, quiz announcements, last minute
changes) are sent to your CSUN email address. If you do not use CSUN Webmail, then please
set up auto-forwarding of emails to your non–CSUN
account. Log in to Webmail; click Options
and then click Forwarding. Make sure that both
your CSUN email and your target email accounts
are working OK (not over quota or
expired). If you get a lot of spam at
CSUN, then make sure to set up the spam filter and also purge out those that
escape into your inbox.
Class
etiquette: Please
silence cell phones and pagers before entering classroom/lab.
Please do not snooze in class, because it is disruptive to others.
If you feel sleepy, then you can leave the room, get a drink of
water, wake up, and return. You can even stand at the back of the room to
beat that drowsy feeling!! YOU WILL FORFEIT PARTICIPATION POINTS IF
YOU NAP IN MY CLASS Please refrain from
noisy keyboarding during the lecture
sessions. Read "How to ace my
class" www.csun.edu/~shan/misc/howtoace.htm
Topics
Overview of object-oriented analysis and UML-II
Review of software modeling concepts
Development methods, processes, and life cycles
Overview of object-oriented modeling with UML
Introduction to UML
Small
things- Classes, objects, interfaces
Relationships-
association, aggregation, Inheritance and
polymorphism.
Functional vs. Object-oriented modeling
Basic
Analysis Modeling
Event-Response
modeling
Use
case modeling
Goal-Question-metric
Requirements
specification – style, clarity, format, tools (self study & research)
Case
studies from text
Structural
(static) modeling
Class
diagrams showing relationships,
Interfaces
& ports
Big things- Packages, components and subsystems
Demeter’s principle
Deployment diagrams
Dynamic
Modeling
Modeling
object behavior
State
machines & state charts
Modeling
complex behavior with state charts
Nested
states and state inheritance
Modeling
internal and external concurrency
Case
study from text- heart pace maker (no course notes)
Modeling
Interactions
Advanced
Interaction and communication diagrams in UML-II
Loops
and branches
Lifeline
& interaction decomposition- fragments & references
Modeling
for real-time behavior
Timing
diagrams
Activity
diagrams
Modeling
interrupts & interruptible segments
Architectural
Design
Logical
vs. physical modeling
System
development process
Domain
modeling
Modeling
whole systems
Concurrency
considerations- UML-II Task diagrams
Real-world
concurrency- Operating system, threads, processes, IPC etc.
Detailed
Design
Parametric
classes
Frameworks
& design patterns
Common
design patterns
GOF
patterns
Describing
design patterns in UML-II
Using
design patterns in UML-II
Other
issues
Model
driven Architecture
CASE
tool issues
Round
trip Engineering
Customizing
UML with profiles
Research paper guidelines
1.
Copying text, diagrams and pictures from the
internet or other sources without proper reference will be considered cheating
and will receive a grade of F. Read
Grading Policy for more information, including citation guidelines.
2.
The
paper should be between 4 to 6 typed pages long, including diagrams. The papers should be of professional quality
(spell checked and grammar checked) and conform to the ACM style guide at www.acm.org/sigs/pubs/proceed/pubform.doc, however, use a single column format ( i.e. do
not use the two column format), use
single spacing, use a serif font such as Ariel with a font size of 11 or 12,
paginate the paper. There is no need for
including the copyright block. Other
than that, follow the ACM guidelines including abstract, keywords, section
numbers and titles etc. Use of
illustrative diagrams is highly recommended.
3.
You
should study and analyze a minimum of three source publications- Journal
articles or books, in preparation for writing the research paper. Use of
Internet resources from reliable sources is acceptable, but don’t just cut and
paste (see below). You need to use at least one reference from professional
journals such as publications of the ACM, IEEE, or conference proceedings (hard
to get).
4.
You
should do a critical study of the source material and summarize your findings
in your research paper.
5.
You
have free access the ACM digital library from any computer at CSUN or from
outside, if you connect with CSUN VPN
6.
You
must write the paper in your own words- no copying and no submitting of work
written by someone else- not even by your best friend!!. You may include text written by someone else
as long as you acknowledge the original author with proper references. Follow
the guidelines for making acknowledgements and references as laid down the
paragraphs D.1 to D.3 in the University regulations for Academic Dishonesty
(see current catalog or Schedule of classes). In particular, any text
copied from someone else’s work (web pages, books, or articles) must appear
within quotation marks, italicized and properly acknowledged with a reference.
Omission of proper acknowledgement and reference will be deemed academic
dishonesty. I can tolerate poor
English, if English is not your primary language- I do not tolerate
copying, I DON'T TOLERATE SOMEONE ELSE
WRITING YOUR WORK.
7.
You
can write a joint paper with another student. The quality of the joint papers
should be superior to those produced by one student. A joint paper should be 4
to 6 pages and based on at least five sources.
8.
The
paper should be of professional quality (spelling and grammar checked &
well organized)
9.
Use
of illustrative diagrams is highly recommended
10. Guidelines for
writing term papers (There are many, the following are samples of what is
available)
http://www.lhup.edu/~dsimanek/termpapr.htm
http://www.cs.purdue.edu/homes/dec/essay.dissertation.html
11. You will submit the
research paper at www.turnitin.com
You should run originality tests with
quoted and bibliography ignored. A similarity
index score of above 10% is not acceptable.
12. Please use Microsoft
word format so that I can insert comments.
Do not submit pdf format files as inserting comments in pdf files is now
very difficult. You can use open office
to write the paper but please convert to word format (free tools
available)
13. You can see the paper
evaluation criteria at the course website.
Computers
in quizzes and exams: Laptops
and handheld electronic devices must be powered down throughout the duration of
quizzes and exams, even in the open-book/notes exams.
Working the group
project: The project will use be developed using the agile
development process. Each group will set
up a Google group site for collaborative work; minimize the need for F2F meetings. The group site will be serve as the Project
Asset Library. It must be structured by
life cycle phases (e.g. Requirements, analysis, system design, preliminary
design, detailed design etc.) As a
group member you earn points by taking
the initiative in doing work. Do not
rely upon someone else to ask you to do things.
You must post your contributions with your name in the group site. Absent artifacts of collaboration, absent
points!!
“We
all participated in group reviews, meetings …” is not an acceptable mode of
work. Artifacts must be produced and
posted timely, two students can work together in doing individual tasks, but I
will expect to see individual posts with individual students’ names and a final
post with both students’ names.
Artifacts may be work products and also meaningful reviews. I will monitor the posts and email traffic at
group sites to determine the level and the value of individual participation.
Evaluation criteria
|
Two
Quizzes |
First 12%,
second 18% , may include material from
the project |
|
One Final |
25% Final, may
include material from the project |
|
OOSD
project.Many assignments throughout the semester. |
18%,
half (9%) for group achievement and
half (9%) for meaningful individual contributions. However, a student who participates
minimally or not at all, will get a failing grade, i.e. zero for both
individual and group achievement (see Working the group project above) |
|
Research
paper |
10% (proposal due by September 20, paper due
last week of class). |
|
Homework
& |
15% (home work
may include project related assignments; participation includes timely and
complete attendance, active and meaningful participation in class discussions
and in the webCT discussion forum. To
pass, all assignments must be completed. |
|
Attendance
and participation |
2%. Earn
by timely attendance and participation including meaningful posts in the webCT
discussion forum. Please sign your
name in the attendance roster placed in the back of class |
Submitting work
1.
Most
assignments will be submitted online at turnitin.com, or at webCT
2.
Lab
assignments will call for a demonstration on the lab computer (not your
laptop). There will be an opportunity
for self evaluation of some assignments.
3.
Submit
all hardcopy work in class, not in my office or in the comp science office.
4.
Please
do not email answers to me, I have a very aggressive filter!
Grading policy:
1)
I
use an “ALL or nothing” grading policy.
This means that, to pass this class, you need to complete and submit ALL
assignments for grading, take all quizzes and exams;. You will need to submit answers to
assignments even if it will earn no points due to lateness. If you do not submit all work, then you will
earn the grade of WU in the class. Do
not game the class grade by choosing to do only a selection of the assignments
and missing quizzes and exams- all work
must be completed to pass this lab and class.
2)
You
will earn more points by submitting professional quality work. Computer printout is best (printers available
in all computer science labs). You will
lose points by submitting work with spelling or grammatical errors, scruffy
writing and drawings, work that is hastily put together without much thought,
analysis, or care.
3)
Please
arrange to take all exams on the scheduled dates. I will reschedule exams only for emergencies.
4)
In
fairness to all, I don't give make-up
assignments or extra credit work to compensate for poor performance in
scheduled exams and assignments.
5)
You
will earn most points by submitting assignments on time. You will lose points by submitting
assignments late unless you have made prior arrangements. You can apply for an extension for good
cause. Except in emergencies, a request
for extension should be submitted by email
before the due date. The
extension request should specify: Your name, description of the assignment, why
you need an extension (in two lines), and the new date by when you will submit
the work. You will earn no points from
assignments submitted after the solutions have been discussed in class.
6)
Section
entitled “ACADEMIC DISHONESTY” in Appendix C of the CSUN catalog gives
definition of plagiarism and cheating; this entire section is included in this
syllabus by reference. In this class,
the term plagiarism also includes the case where a student submits any material
for grading that is authored by someone else as his or her own work. Examples of such plagiarized work include
term papers, computer programs, design solutions, and answers to questions
written by a commercial entity, as well as the student’s friend, relative, or
tutor. There will be ZERO TOLERANCE against
plagiarism and cheating. Students who
cheat or plagiarize will earn the grade F in the semester’s class grade; there will be no opportunity to resubmit
the assignment or retake the exam.
7)
Some
assignments can be done as a collaboration work by two students. The assignment description will indicate when
this can be done. BOTH partners must participate
and contribute equally to the solution.
a)
If
you are going to do an assignment as a pair, then please email me with your
name and your partner’s name in ADVANCE.
Do this for each
b)
There
should be only one submission of the work and the names of both partners should
appear in the submission.
8)
I
may call upon any student to explain any aspect of an assignment handed in for
grading, including those done in collaboration with another. If you cannot explain the solution then you
will earn a lower grade, including the grade F.
9)
Submitting
work done by someone else is cheating and will be considered as academic
dishonesty. In all such cases a grade of
F will be assigned.
10) In developing
solutions you will earn more points by developing simple solutions and by using
a disciplined approach.
11) All analysis and
design work products should be expressed in standard UML-2- no inventing your
own language!
Changes to this
syllabus: This syllabus may be changed during the
semester. You will receive notice of
any such change via email sent to your CSUN email address