|
|
Lecture Announcements
29-June-2003
Final Exam
|
You are responsible for
all the materials presented in class in the final exam. You should
also look at the five software development processes. Look at the
Lecture Schedule
for what we covered in this semester. |
|
The final exam will be a
closed book exam, but you can bring
2
pages to the exam. The information about these 2 pages: |
|
Take a print out of the
2-page UML Reference Card. |
|
Write anything you want to
the back sides of these two pages. |
|
Bring these two pages having
your own hand-written parts to the final exam. |
|
You can
not take a
copy of your friend's hand written part. We will check this before the
exam starts, and if any UML reference pages having copied hand written
parts are found, they will not be allowed to be used during the final
exam. |
Project Grading
|
First of all I should say
that it was very difficult for me to grade such good projects having
many grading criterion. It took me many hours to give your first
raw grades. I looked at your projects several times and did many
comparisons. That is I did my best for grading. |
|
Your raw project grades
are posted here. |
|
Look at the details of
SAD and
Final grading. Check the
summations and grading, if you find something wrong or missing, or you
definitely think that you deserve more, please don't hesitate
to talk to me. I am still doing some small changes to your grades. |
|
There will be some minor
changes on the Coding and Product part after the final exam
and as a result you project grade will change a little. There will be
a very simple question about your project in the final exam! Your
answer to this question will help me to do this final project grade
adjustment.
|
17-June-2003
|
I am now on vacation and I
will be back on Monday, 23rd of June. |
|
I will post your project
grades in the next week. |
|
The members of some teams
that have unbalanced works or have team members who did not
do his/her responsibilities will get different grades in
grading of Process & Communication and Coding and Product
parts. |
|
For final grading of these
two parts I would like to talk to the project managers of your project
teams on Monday, 23rd of June. They should come and talk to me on
Monday. Other members may also come. |
|
I will do an announcement
for the final exam in the middle of the next week.
|
12-June-2003
|
Coming late to your final
project meeting will be considered as a negative point for your demo.
You will normally not get an extra time for your presentation.
|
11-June-2003
|
I will not grade your SPMP, TD,
and UM. They will be counted for the completeness of your project. See
the new grading table given below. |
|
See my software design,
documentation and coding
page.
Your source files must satisfy the minimum requirements given
in this page.
|
11-June-2003
|
See
this
sample contribution summary report that you will submit before your
demo. In this report the subjective data part is missing. At least
they could write technologies learned and used during the project,
difficulty of problems solved.
|
9-June-2003
Project Demos Time
Table:
Time |
Wednesday, 11
June |
Thursday, 12
June |
Friday, 13 June
|
09:00 |
|
(4) PIS |
(8)
2M - MicroMedia |
11:00 |
|
(3) Pathfinder (Symbian) |
(6) XML Editor
|
13:30 |
|
(2) HSS |
(9) OMENCELL |
15:30 |
(5) ZYLOS |
(10) GAP |
(1) Seager
|
17:00 |
|
(11) ofEEE |
(7)
PacCell |
4-June-2003
For project demos,
you should do the following final tasks:
|
Submit SAD, SPMP,
and the updated RAD documents (Deadline: Friday,
5 pm).
|
|
Submit UM and TD
(Deadline: Monday,
5 pm). |
|
You will also submit a
one-page contribution summary report for your project on
Monday. It can be a table. In this report, you must give the
following minimum information:
1) The number of files and lines of code (LOC) originally
written
2) List the file names and/or methods you have developed with the
names of their developers
3) Write LOC that each developer has written
4) If you use some existing code, you should give some information
about it, like the number of files, LOC used, ...
5) All design documents, chapters (if one document is written by
several project members) and their authors
6) Some subjective data: Special algorithms, data structures, design
patterns used or/and developed, technologies learned
and used during the project, difficulty of problems solved,
investments made, ...
7) Other project efforts, work products and their doers.
|
|
Before you calculate LOC you
have written, you should delete unnecessary space lines and
optimize your code. Use refactoring techniques for code
optimization and getting efficient and understandable
code. |
|
In addition to this last
important task indicated above for calculating LOC, you should
format your code using the features of your development
environment. The formatting and code indentation are
very important for code readability. To format your source
file, click your program code in the Editor and use CTRL-T in
Together and Format All in JBuilder 8. |
|
Upload all design documents
(in word format, also optionally in other formats) to your web site. |
|
Work on your software,
coding documentation, and API. |
|
Upload all your UML
design documents (normally Together project) in a zip file to your
web site. |
|
Upload your JBuilder or
Together project directory in a zip file and/or other
implementation source files to your web site. |
|
Upload your project
web site
in a zip file to your project
web site. When this zip file is opened, your web
site must be constructed and all work products must be available
through its index file. |
|
Arrange a meeting
date (Monday, Wednesday, Thursday and Friday) and an hour
(at least 1 hour) with me for the next week
(Deadline: Monday,
5 pm). The first comers will
get some extra bonus. |
|
I will download your
project web site zip file and open it on my
machine before our
meeting starts. |
|
Anyone may normally download
your work products from your web site and examine and run them on
his/her computer. You should write all the instructions for
downloading, installing and running your program. |
|
For some projects which need
some special hardware and software configurations, after examining
your source files on my machine, and maybe partly running same parts,
we may go to the lab to evaluate the remaining part.
|
29-May-2003
|
You can use the following
html
and word
templates for your
SDD
(System Design Document)
and the
word
template for ODD
(Object
Design Document)
which are the two parts of SAD (System Architecture Document). |
|
Don't use these
word templates
as given, make some small changes to the format of the document. For
example, the space between a header and the body text is too much. The
headers may be Arial and bold. This word document templates need such
modifications. |
|
Dont put Glossary and Index
parts as you will see in the word templates into your SAD. |
|
Especially use these two
word templates to get an idea about what you can put into
SAD.
Don't forget that these
word documents are
not perfect example templates. |
|
Use the template given on
page 365 for your TD. The sections of this document are explained on
365, 366 and other parts of the Chapter 9.
|
28-May-2003
|
The summary of CENG 302 Project
Work Products, Processes and their Grading:
|
Work Product |
Deadline |
Percent on
Project Grade |
Proposal |
25 April |
10 |
RAD (Requirement
Analysis Document) |
15 May |
15 |
SAD (System
Architecture Document) (System and Object Design Documents) |
5 June |
20 |
TD (Testing
Document) |
5 June |
for completeness |
UM (User Manual) |
9-13 June |
for completeness |
SPMP (Software
Project Management Plan) |
5 June |
for completeness,
partically in Process & Comm. |
Process &
Communication |
9-13 June |
20 |
Coding
and Product |
9-13 June |
35 |
|
Don't forget:
What you analyze, design, and implement
with artifacts is a software product,
not simply a program.
|
|
Look at the
Project Grading Policy Document
when preparing the next documents.
|
28-May-2003
|
Your proposals and RADs were
graded and your grades were posted. You are advised to look at the
project proposal and RAD gradings given above carefully and try to improve the quality of your next documents. |
|
You can get your RAD documents
from me and look at the comments I have written. |
|
You will resubmit the final RAD
document to me after making corrections and adding missing parts. |
|
Your RAD grade will not change.
|
14-May-2003
Some common mistakes in RAD
documents I have seen so far:
|
Drawing Use Case Diagrams
but forgetting companion explanations for use cases. For each use case
oval, you should normally write a use case document. |
|
You should use the use case
template given on page 40. Look at also the example use case on page
41. |
|
Ignoring scenarios. Use the
template on page 42 for your scenarios. |
|
Ignoring 3.5.5 (first GUI
prototypes) - navigational paths and screen mockups. |
|
Forgetting the practices of
your software development process and team work. |
|
Grammar and spelling
mistakes.
|
14-May-2003
|
Today and tomorrow (Friday)
you are required to talk to me about your RAD and your project
progress. |
|
Before coming to talk to me
you should have put your RAD (in word format) and your
Together design documents (make a zip file of your Together
working directory) to your web site. |
|
If you are not able to come
to talk to me for any reason, you should have put these two
Requirement Analysis works to your web site until tomorrow 5 pm. |
|
We will download your
documents from your web site tomorrow for grading. |
|
For full grading, meeting
and oral status reporting are required.
|
13-May-2003
Online
Documentation
|
In your design
documentations (RAD, architecture (system/object) and implementation
documents) try to use the online document generation features of
Together. |
|
Look at the following
presentation
Documentation Designer, Tips and Trips. |
|
In the Together
tutorial, A Practical Guide to Getting
Started with Together ControlCenter 6.0,
there are two lessons
related to documentation and coding: 9. Documentation Generation and
10. Audits and Metrics. Go over these lessons
and learn some important skills for online documentation and
implementation in Together. |
11-May-2003
|
You can use the following
html
and word
templates for your RAD (Requirement Analysis Document) which
you will submit this week.
|
24-April-2003
|
Today (Time:
09-12:00) and tomorrow (Time: 09:30-12:30 and 14:00-16:30) you
(with all your team members) are invited to come to my office
to talk to me about your project
and second homework assignment. |
|
Before you come, please take
a print-out of your second homework assignment. If for any reasons you
cannot take the print-out, send it to me by an e-mail. |
|
I will evaluate the second
homework assignment during our meeting.
All team members must be ready for comparison of 5 software
development processes. I will ask questions. |
|
The simple format of the
homework: Body text: 11 Times New Roman, on all pages margins should
be 2.5 cm. It should be in fully-justified text |
|
The first comers will take
the first meeting times.
Don't forget, always the more you are in the first comers, the better
it is for you! |
|
You should post the
following minimum documents to your project web site this week as
announced in the last lecture:
- Project (team’s) name and vision statement.
- Your initial Project Proposal (You can use the simplified version of
the template given on page 53 of Developing Applications with Java
and UML or look at
here for a more simplified one.
- Project roles and responsibilities
- Your initial Software Project Management Plan (SPMP). This
document will be updated by your Project Manager.
- Your team’s weekly activities (this week and next week) |
|
The midterm date is 15 May
2003, Thursday, Time: 09:00-12:00. |
|
The last grading update: Project: 40 %, Homeworks and Quizzes: 20 %, Midterm: 20
%, Final Exam: 20 %.
|
21-April-2003
|
The
comparison criterion for the second homework: Major process
activities, artifacts in all software development phases, utilization
of UML, documentation, team model and communication, project
management, risk management, configuration management, design reviews
and formal code inspections,
measurement and
control, testing, training, technology and process change management
and readiness, process tools, worldwide usage, typical organizations,
teams and projects for each process.
|
14-April-2003
|
Your
second hw assignment (The Comparison
of 5 Software Development Processes) is postponed. You will submit it next
Thursday (24 April 2003).
|
4-April-2003
|
Your
initial project teams are listed here. If
you have not sent the names of your team members yet, please send them to me
soon. I will normally accept your teams officially next week, but as you see
from the table, there are some teams having 3, 4 and 6 members. They should
try to make their number 5 by making some arrangements with other teams.
|
27-March-2003
|
The first homework assignment will
be given next week. You will use 6 UML diagrams in the assignment. You
should have finished the Together Tutorial before the assignment. If you
start the tutorial next week, it may be
very
late, and
you
may
not finish your
assignment.
|
|
You will submit your assignments
within 1 week. Deadline extension requests for homework assignments and the
course project will not be accepted!
|
|
To get the current
updated
web pages, use Ctrl-F5 keys.
Otherwise you may get the old pages from
the
web server's cache.
|
20-March-2003
|
Form your project team and start
to find a good project topic. Each project team must have 5 members.
4 or 6 may be accepted. You should talk to me.
|
|
Some special arrangements can be
done for
the
number of your project team
members and projects. But
you should not forget that as the number of your project
team
members increases, you are
supposed to develop more complex and big projects and to produce more work
products. In addition to this,
your grading will be different.
|
|
You will determine your project
team's methodology (process)
soon. I posted some
documents about the suggested methodologies (XP, RUP, CMM Level 2 Processes,
and FDD) in the class in the readings part section below. Download these
documents, read them by your team members and choose your software
development process. You
should follow the software development practices of your process in the
course project.
|
6-March-2003
|
Welcome to CENG 302 Software Engineering! I hope in this
course you will learn invaluable notations (like UML), methods, and
methodologies for conquering real complex and changing software systems.
|
|
Download the following
reference document and use it during the
semester.
|
|
Try to visit my
Software
Engineering page regularly, I will try to update it frequently in this
semester.
|
|
Read the readings in the Preface and
Chapter 1. We will start Chapter 2: Modeling with UML next week.
|
|
Start to visit your
TA Engin Tozal's
course home page
regularly. He will make his
announcements
on his page. The homework solutions, some program samples and documents
related to his activities will be posted
here. You should also visit
his web page frequently.
|
Course Materials
(Lecture Slides, Readings,
Programs, Technical Documents)
Lecture Slides
Date |
Material |
Topic(s) Covered |
6/3 |
Lecture 1 |
Introduction to Software Engineering (Chp 1): Course information, some
background for SE, big picture, motivation
and getting mentally prepared for the lecture, introduction
to SE |
20/3 |
Lecture 2 |
Modeling with UML (Chp 2): Introduction,
What is Modeling?, What is UML?,
UML First Pass |
27/3 |
Lecture 3 |
Use Case,
Class, Sequence,
Activity, Statechart Diagrams,
Other UML Diagrams, Using the UML in
Context |
3/4 |
Lecture 4 |
Project Management (Chp 11): An Overview of
Project Management, Management Concepts,
Cultivating Teamwork, Roles and Team
Formation, Work Products,
Project Management Activities, Managing Project
Management Models and Activities, Focusing on
Process. |
MSF-Team Model |
MSF-Team Model |
Team Principles |
MSF-Team Model
Principles |
10/4 |
Lecture 5 |
Team
Communication, Project Reviews and Meetings |
17/4 |
Lecture 6 |
Requirements Elicitation (Chp 4): Software
Development Phases and Process, Requirements and
System Fitness, Requirements Elicitation
Activities |
1/5 |
Lecture 7 |
Analysis (Chp 5): Object Modeling,
Dynamic Modeling, RAD |
7/5 |
Lecture 8 |
System Design (Chp 6) (Architecture
Design – Phase 1): Overview of System Design, Design Goals,
Subsystem Decomposition, Concurrency, Hardware/Software Mapping,
Persistent Data Management, Global Resource, Handling and Access
Control, Software Control, Boundary Conditions |
Observer |
Observer Pattern |
MVC |
Model
View Controller (MVC) Pattern and Java code samples |
MVC Together |
MVC Together
Java Programming Examples |
22/5 |
Lecture 9 |
Object Design
(Chp 7) (Architecture Design – Phase
2): Object Design Concepts,
Service Specification, Component Selection,
Object Model Restructuring, Object Model
Optimization. |
29/5 |
Lecture 10 |
Testing
(Chp 9):
Terminology,
Types of Errors and Faults, Dealing with Errors,
Quality Assurance vs Testing, Component
Testing (Unit Testing and Integration Testing),
Testing Strategy, System Testing |
Readings
Software
Processes (Methodologies) |
Date |
Material |
Comments |
20/3
22/4 |
CMM |
Key Practices of the
CMM v1.1 |
M. C. Paulk, et.al,
Carnegie Mellon University-Software Engineering
Institute, Pittsburgh, Pennsylvania 1993. |
The CMM for Software |
M. C. Paulk, et.al,
CMU-SEI,
Pittsburgh, Pennsylvania |
Effective CMM-Based Process
Improvement |
M. C. Paulk,
CMU-SEI, Pittsburgh,
Pennsylvania 1993. |
Extreme Programming
from a CMM Perspective |
Mark C. Paulk,
IEEE Software, November/December 2001. |
RUP
UPEDU |
Rational Unified Process
|
Rational Software White
Paper, TP026B, Rev 11/01 |
What Is the Rational Unified Process? |
Philippe Kruchten,
Rational Fellow, (html). |
RUP vs. XP |
Robert C. Martin,
objectmentor.com, 2001, a description of XP as a minimal instance of RUP |
RUP Poster
|
Rational Unified Process -
Process Made Practical. |
The Ten Essentials off RUP,
The Essence of an Effective Development
Process |
Leslee Probasco,
Rational Software White paper. |
Tailoring the Rational Unified
Process, A Lightweight Process Development Case
|
ICONIX Software
Engineering |
XP |
Extreme Programming |
J. Highsmith, (the best
summary at the moment written by an outsider, according to Martin
Fowler). |
Extreme Programming Installed
|
A book on XP (288
pages). |
Agile (Light)
Methodologies |
J. Highsmith |
FDD |
Feature-Driven Development (FDD) |
Steve Palmer and Peter Coad |
Software Engineering |
Jonathan Kern |
3/4 |
MSF |
Microsoft Solution Framework |
Datasheets and white papers
describing MSF’s updated models and disciplines are now available in the
MSF Resource Library. |
Homeworks, Exams and Solutions
References
Some OO Links
|