|
Instructor: A. Olson |
Office hours: MW 1:00-4:00
PM and by appointment |
|
Office: SL 280 |
E-mail: olsona@iupui.edu |
|
Office Phone: (317)
274-9733 |
|
|
Teaching Assistant: -- |
Contact: Department in SL 280, phone
274-9727 |
Copyright
2007. All rights reserved. Contact
the author
Software Engineering: An
Object-Oriented Approach. Eric J. Braude,
John Wiley & Sons, 2001, ISBN 0-471-32208-3
Recommended References:
Introduction
to the Team Software Process.
W. S. Humphrey, Addison-Wesley, 2000, ISBN 0-201-47719-X
Object-Oriented
Project Management with UML.
M. R. Cantor, John Wiley & Sons, 1991,
ISBN 0-471-25303-0
A survey of the fundamental
principles and concepts of managing a software project. Topics
include life cycle models, standards and goals, cost estimation, risk analysis,
tool use, component reuse, traceability, metrics, and process control and
improvement. Students are required to apply management
concepts using a project-based approach.
Software engineering is the establishment
and use of engineering principles to manage the human and technical components
involved in creating software so that it satisfies the client's functional
requirements and constraints.
This course is intended as an advanced introduction to the
principles and practice of software engineering. It
will discuss the tools and techniques used in software development to evaluate
and control software quality and project progress. Topics
include life cycle concepts applied to program specification, development and
maintenance, the use of a specific methodology in developing large programs,
and tools and techniques for testing.
The goal of this course is
for the participant to acquire an understanding of the principles of, and
skills in current practices for, carrying out a team-sized, software
engineering project. By the end of the course, the
successful participant will
3 credits.
Recommended Preparation: CSCI 450 or CSCI 452, or graduate standing in the
department.
No late assignments or
projects will be accepted. All assignments and
projects must be turned in by the beginning of the class on the due date.
There will be NO EXCEPTIONS made to this policy except for strongly justified
emergencies.
Attendance at the Final
Examination Period is required. Do not register for another course that
has an examination period that conflicts with this one.
Follow the Standard of
Conduct described below.
|
Session: |
Date: |
Topic: |
Activity: |
|
|
1 |
8/22 |
Introduction to class and Software Engineering Ethics
in Software Engineering |
Read
Introduction & Chapt. 1
Part I (browse pp. 20-23) in Braude and Notes:
Providing a Philosophical Basis for Ethical Decisions & Liability in
Software Development |
|
|
2 |
8/27 |
Introduction to Project
Management |
Read
Chapt. 2 Part I (browse
pp. 77-85, 90-92 |
|
|
3 |
8/29 |
Introduction to Requirements Analysis (Problem
Definition) |
Read Chapt. 3 |
|
|
9/3 |
No Class |
Labor
Day |
|
|
|
4 |
9/5 |
Detailed Requirements Analysis (Problem
Definition) |
Assignment 1 due; Read Chapt. 4 Part I |
|
|
5 |
9/10 |
Introduction
to Architecture |
Read Chapt. 5
Part I Assign. 2 due |
|
|
6 |
9/12 |
Introduction to Detailed Design (Problem
Solution) |
Read Chapt. 6 Part I (Browse pp. 311-312, 315-318) |
|
|
7 |
9/17 |
The
Software Engineering Process |
Read Chapt. 1
Part II (browse pp.49-56) |
|
|
8 |
9/19 |
Project
Management |
Read
Chapt. 2 Part II (browse
pp. 94-96, 116-117) |
|
|
9 |
9/24 |
Detailed Requirements Analysis (Problem
Specification) |
Read Chapt.
4 Part II (browse pp.217-225) Assignment 3 due |
|
|
10 |
9/26 |
Architecture |
Read
Chapt. 5 Part II (browse
pp. 263-265, 272-278, 281-283) |
|
|
11 |
10/1 |
Architecture |
“
; Assignment 4 due |
|
|
12 |
10/3 |
Detailed Design |
Read
Chapt. 6 Part II (browse pp.
319-335) |
|
|
13 |
10/8 |
Unit
Implementation |
Read
Chapt. 7 (browse pp.
361-370, 375-376) (skip pp. 370-375) |
|
|
14 |
10/10 |
Unit
Testing |
Read
Chapt. 8 (browse 397-405, 415-419, 421-431) Assignment
5 due |
|
|
15 |
10/15 |
Integration
and Verification & Validation. |
Read
Chapt. 9 |
|
|
16 |
10/17 |
Post
Mortems |
“
, Organize Project |
|
|
17 |
10/22 |
Review |
Project |
|
|
18 |
10/24 |
During class |
Exam |
|
|
19 |
10/29 |
Development Project |
Development
Project |
|
|
20 |
10/31 |
Development Project |
Development
Project |
|
|
21 |
11/5 |
Development Project |
Development
Project |
|
|
22 |
11/7 |
Development Project |
Development
Project |
|
|
23 |
11/12 |
Development Project |
Development
Project |
|
|
24 |
11/14 |
Development Project |
Development
Project |
|
|
25 |
11/19 |
Development Project |
Development
Project |
|
|
11/21 |
No Class |
Thanksgiving
Day |
|
|
|
26 |
11/26 |
Development Project |
Development
Project |
|
|
27 |
11/28 |
Development Project |
Development
Project |
|
|
28 |
12/3 |
Development Project |
Oral
Presentations, Development Project |
|
|
29 |
12/5 |
Course Review |
Development
Project |
|
|
30 |
12/10 |
Acceptance Testing |
Final
Notebooks and other Deliverables Due |
|
|
31 |
12/17 |
Process Quality Evaluations due; FINAL EXAM: 3:30 - 5:30 p.m.
|
||
Your grade in this course depends
upon your individual performance on Assignments, the Midterm and Final Exams,
and your personal contribution to the class and to Team Projects. It also depends upon the overall quality of the team's
conduct during the projects, to which you are expected to make a major and
proportionate contribution.
Assignment scores
accumulate on a point-wise basis, which depends upon their complexity. The Midterm Exam forms 30 % of the total score for the
course and the Assignments form 5 % of the total score. The
Project grade consists of the Final Exam score and the accumulation of scores
on periodic Team Reports. Together these form 60 % of
the total score. There is also a measure of personal
contribution, which forms about 5 % of the total score. It
depends upon your personal contribution to the class and team efforts. Be aware that this factor may detract from points
accumulated elsewhere, reducing your score. This
reflects the fact that contribution can be detrimental as well as constructive.
A student who does not turn
in reasonable responses to the Midterm and Final Exams, and accumulate at least
50 % of the course's total possible points, cannot expect a passing grade in
the course.
Providing a Philosophical Basis for Ethical Decisions
Liability in Software Development
Withdrawals during the
period when the Instructor must sign the Drop/Add slip will require
justification.
A grade of I (incomplete)
will only be assigned under exceptional circumstances, such as illness, that
prevent students from finishing all work required in this course. A grade of I will be awarded only if a minimum of 75% of
the work has been completed and the work is of passing quality. Department policy requires a contract be signed by both
the instructor and the student in the assignment of any I grade. This contract outlines course work required and
establishes a specific date (no more than one year) by which all unfinished
work must be completed. The instructor is not required
to give the student a full year to finish the work. The
instructor has the right to set an earlier deadline if deemed appropriate.
Each student is expected to
adhere to high standards of ethical conduct, especially those related to
cheating and plagiarism, IUPUI
Student Code of Conduct (see sections on Misconduct) . See
also the Association for
Computing Machinery's Code of Ethics and Professional Conduct .
In this course, you are not
permitted to collaborate or consult with other students when doing the
assignments and exams. You may exchange general ideas with other students
when working on assignments, but the results that you turn in must be yours
alone.
On a project, you will be
working in a team, which will follow semiformal software engineering guidelines,
such as required by IEEE standards, to develop a software product.
Student teams will consist of members with various areas of expertise.
Team members must collaborate, providing assistance for all to understand new
material, in order to meet their project's requirements and schedule.
During a project, you are expected to perform promptly
the responsibilities that are assigned to you, and these should be
distributed approximately equally among the team members. Communication with
your team members concerning your and the team's progress is a key factor in
achieving the team's goals.
Any deviation from these
rules will be considered a violation of the Code above. Penalties,
depending on the severity of violation, can range from a reduction in credit,
no credit, or disciplinary proceedings for cheating or plagiarism as provided
by the Code.
Watch this section for
future postings.
For all those who have
never logged on to the department’s server, Enigma, here is important
information:
As a student in the
Department of Computer and Information Science, you can check out a key card
for the SL 251 UNIX lab. This allows you use of the
lab outside of class hours. Key cards may be obtained
in SL 280, Monday through Thursday, 8:00 a.m. - 5:45 p.m. Students will be
required to fill out a loan form and make a deposit of $10.00 which will be
refunded when the card is returned by the end of the semester.
Students are also required to renew their key card on a weekly basis via
e-mail or online at http://www.cs.iupui.edu/~dtauriai/keycard_renewal.html. Students failing to renew their card weekly will have
their card deactivated, denying them access to the lab, and the $10.00 deposit
forfeited by the student. Students failing to return
their key card by the end of the academic semester will forfeit their deposit.
IT IS YOUR PERSONAL RESPONSIBILITY TO RENEW YOUR KEY CARD WEEKLY.
You are responsible for the lab and the equipment within while the key card is
in your possession. You are expected to follow all lab
rules such as: no food or drink, no playing games on the computer and no work
unrelated to the course. If a student has food or
drink in the lab they will be asked to dispose of it. If
a student is found violating the other rules of the lab they will be asked to
leave, return their card and will lose their lab access deposit. If the key is lost or stolen, please notify the Department
immediately. Until the key loss is reported, the
student remains responsible for the lab and equipment.
Do not leave the lab open. For example, do not leave
the door propped open while you leave the lab to take a break.
You are responsible for the equipment and supplies there. You have a key. Keep the door
locked to make sure only authorized persons enter. The
better care you take of the lab, the nicer your working environment will be. Thank you.