|
|
Lecture Announcements
25 January
2007
|
All project demonstrations and evaluations
will be on Friday, 26 January, between 9:00 and 12:30.
A project demo duration will be 30-45 minutes depending on
projects. Estimate your time using your row in
this table. |
|
All team members must be in the lab at your
presentation time. When evaluating a project team, other teams will not
be in the lab. |
|
You should come at least 30-45 minutes
before your demo time, your team may be called earlier depending on
the project presentations on Friday morning. |
|
Upload all your project work to
your project web site before your demo time. |
|
You will submit your printed documents,
updated RAD, SAD, and UM, before your
demonstration. |
|
Your running program, UML modeling and
development tools (Borland Together 2006 Release 2 for Eclipse) must
be ready before you show your final work. |
|
Your program must be running without
your development tool! That is you should have deployed and put all
your class files into a JAR file and run it using only a Java Run
Time Environment (JRE). In short, it should be a product, not
a developing application in a development environment! |
|
You should also bring your Project Contribution
Report. Prepare it using
this template.
|
|
When evaluating your project, I'll use this
document for your project organization, tasks and assignments.
For grading criteria for Coding and Product (CP), look at the
announcement written on 20 December 2006 given below. |
12 January
2007
|
Final exam: 15 January 2007, 14:30, E-302. |
|
This is a comprehensive exam covering
some important topics of Software Engineering given in this
semester. You are responsible from all chapters. |
|
It is a closed book and notes exam. |
|
This year's midterm questions and
answers are here. |
|
This is
a sample final exam given
in the Spring 2005 semester. There are also partial solutions in the
zip file. First try to solve the problems, then look at the
solutions. |
|
I hope you have learned some new
exciting things ... modern object oriented analysis, design, and
implementation techniques using UML, Design Patterns, Java and
Software Development Processes to develop a complex software project
with a small team having limited resources (qualified developers,
time, ...) and some people related problems... |
|
Have a good final exam period... I wish
you all the best for your future Software Engineering in your
professional life... H. G. |
20 December
2006
|
The next Monday (25 December)
after the class time (13:00 - 16:00) is the sharp deadline for SAD
and your system architecture, and updated RADs. You should also
bring your old graded RADs. |
|
Please use the SAD template having
10 headings given in lecture slides on page 152. You can get
some ideas from the SAD samples given below, but don't use their
formats. |
|
You have to show your
software architecture and first working prototype based on PCMEF
meta architecture using Together and your implementation tool
(Eclipse or JBuilder) in the computer lab on Monday afternoon. |
|
You have to show your packages, their
dependencies, class diagrams, your updated functional model
(Use Case model and companion HTML documents), updated some
dynamic views (sequence, activity, state diagrams depending
on your project) using Together.
------------------------ |
|
Your User Manual (UM), Coding
and Product (CP) will be graded on Friday, 12
January 2007. Your Process and Communication (PC) have
being graded for some time... |
|
The grading criteria for Coding and
Product (CP):
Software Architecture and Development Techniques (35)
Architecture and Project Difficulty (Subsystem decomposition based on
PCMEF, packages, classes, inheritance, ...) (20)
Applying UML and Patterns (15)
Coding and Implementation (35)
Coding Style and Coding Documentation (15)
(Java coding style and documentation -
generated Javadoc HTML API showing packages, classes and their
explanations )
Testing Process (10)
Audits and Metrics for Source Code (10)
Product (30)
Final Product for Naive End User: Working Software (Functionality,
usability, user friendliness, …) (30) |
|
The announcements on this page may be
updated depending on your questions and some new needs. So please
check this page for a while ... |
4 December
2006
|
You have your midterm exam next
Monday, 11th of December at 10:00 am, in class. |
|
I will continue the System Design in
the first hour, so please come also to the lecture before the exam
hour. |
|
The exam will touch all topics
covered so far (slide 73 of the lecture 6). |
|
It will be closed book and notes. |
|
Look at the last time schedule
of our course given above and arrange your project work according to
this time table... |
|
On remaining Mondays including
next Monday your project team should come and show your work.
Remember the PC, Process and Communication (with
talking, documentation and your working product), part of the
course. That's very important, don't neglect it, you will be graded
for PC also ... |
|
A
midterm sample from previous years. |
6 November
2006
|
Please download this
HW3 (Introduction to Design
Patterns) and do it until next lecture (13 November, Monday, class
time). |
|
You have to also submit your final
Project Proposal next Monday. |
30 October
2006
|
Welcome back to CENG 401 after two
weeks! |
|
This was a really long term break, so
we have to compensate it with
1) a homework assignment (HW2),
2) the first draft of your project proposal (read below, 10
October) and
3) a lecture makeup. (Day, time, class ???) |
|
You should hand in your HW2 and project
proposal next Monday, 6 November. |
|
Before writing your proposal your team
(with all project team members) should talk to your TA and/or me in
our office hours. |
|
The names of project teams, later their
projects and links to their web pages will be posted to the web page
of your TA. |
|
The results of HW1 are posted
here. Look at this page for your grades
and course grading. |
17 October
2006
|
The second homework assignment
(Introduction to UML and a Modeling Tool) will be given after Ramazan Bayrami. |
10 October 2006
|
HW1: Please download the
following MP3 radio recording from
here
(43.1 MB) or Software Engineering
Radio internet web site. |
|
After downloading the file, listen to
it and answer the questions in this
file. |
|
Start to form your project team (5
members) and think about your project. You will submit your project
proposal soon... You can use this
Project
Proposal template when preparing your proposal. |
|
When considering your project
organization, use this
document. Customize this simple project organization model for
your project. I'll update it later. |
25 September-2006
|
Welcome to CENG 302 Software Engineering! In this
course you will be introduced to how to conquer real complex and changing software systems.
|
|
In this course you will learn
modern object oriented analysis, design,
and implementation techniques using UML, Design
Patterns, Java and Software Development Processes
to develop a complex software project with a small team
having limited resources (qualified developers, time) and some people related problems.
|
|
Try to visit my
Software
Engineering page regularly, I will try to update it frequently during
the
semester. |
|
Start to visit
your TA Melek Oktay's web 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.
|
Course Materials
|
Purpose: To allow better concentration in lecture by reducing
note-taking pressure and to provide a study-aid before and after lecture.
|
|
Disclaimers: (a) I may not follow these
slides exactly in class. (b) Students are responsible
for what I say in class. (c) Reading these slides is
not a substitute for attending lecture. |
|
Almost all slides used during the course will available via the
following links. I may also skip several slides during the lecture (?00
slides would be too much!). They are included in the course material for
completeness and to provide a good reference for your future
professional software engineering projects. |
Wk |
Date |
Materials |
Topics Covered |
Projects |
HW/Q |
1
2 |
25/9
2/10 |
Overview
Lec 1
|
Course
Overview and Introduction to Software Engineering
Course Information, What is
Software Engineering? Modeling and Model Driven Development, UML, Design
Patterns, Software Development Phases, Software Process (Methodology),
Software Development using UML, Design Patterns and Processes. (chp 1) |
Start with your Project Tools:
Implementation, modeling and other tools |
HW1 |
3
4 |
9/10
16/10 |
Lec 2 |
Modeling with UML
What is Modeling? What is UML? UML First Pass, Use Case Diagrams, Class
Diagrams, Sequence Diagrams, Statechart Diagrams, Activity Diagrams,
Other UML Diagrams, Using the UML in Context (chp 2) |
UML |
HW2 |
|
23/10 |
Ramazan
Bayramı Tatili |
5 |
30/10 |
Lec 3
Examples
MVC |
Introduction to Design
Patterns
Introduction to Patterns and Frameworks, Types of Software Patterns,
Introduction to GoF Design Patterns, A Behavioral Pattern: Observer, An
Architectural Pattern: Model View Controller (MVC), A Creational
Pattern: Factory Method, A Structural Pattern: Facade |
Introduction to
Design Patterns |
HW3 |
6 |
6/11 |
Lec 4
Teamwork
Lessons
from Birds |
Project
Organization and Communication
An Overview of Projects and Development Phases, Project Organization
Concepts, Project Communication Concepts, Organizational Activities (chp
4) |
Projects
Start:
Teams, Project Ideas |
|
7
8 |
13/11
20/11 |
Lec 5 |
Requirements
Elicitation
and Analysis
Software Lifecycle
and Adding Process, Requirements and System Fitness, Requirement
Elicitation Concepts, Requirement Elicitation Activities, Analysis
Concepts, Analysis Activities: From Use Cases to Objects, Managing
Requirements Elicitation and Analysis, Case Studies for Requirements
Analysis |
Project Proposal |
|
9
10 |
27/11
4/12 |
Lec 6
EMS1 Case Study
EMS1 Slides |
System
Design
Decomposing the System: An Overview of System Design,
System Design Concepts, System Design Activities: From Objects to
Subsystems: 1. Design Goals, 2. Subsystem Decomposition (Chp 6)
Addressing Design Goals:
System Design Activities: Addressing Design Goals: 3. Concurrency, 4.
Hardware/Software Mapping, 5. Persistent Data Management, 6. Global
Resource Handling and Access Control, 7. Software Control, 8. Boundary
Conditions, Managing System Design, (Chp 7) |
Requirements Analysis
Document (RAD) |
|
11 |
11/12 |
|
Midterm Exam
|
|
|
12 |
18/12
25/12 |
Lec 7
|
Object Design
Reusing Pattern Solutions:
An Overview of Object Design, Reuse Concepts: Solution Objects,
Inheritance and Design Patterns, Reuse Activities: Selecting Design
Patterns and Components (Chp 8)
Specifying Interfaces:
Interface Specification Concepts and Activities, Managing Object Design
(Chp 9) |
System Architecture
Document (SAD) and UML Models |
|
|
1/1
2007 |
Kurban
Bayramı Tatili |
13 |
8/1
2007 |
Lec 8
|
Testing
Testing Concepts, Testing Activities, Managing Testing (Chp
11)
Project Demonstrations and
Evaluations |
User
Manual (UM),
Coding and Product |
|
Document
Templates and Project Work |
Samples |
Percent on
Project Grade |
Proposal |
|
10 |
RAD (Requirement
Analysis Document) |
RAD1
RAD2
RAD3
RAD4 |
20 |
SAD (System
Architecture Document)
(System and Object Design Documents) |
SAD1
SAD2
SAD3
SAD3 |
20 |
UM (User Manual) |
|
10 |
Process &
Communication |
|
10 |
Coding
and Product |
|
30 |
Other Samples (not ideal
projects, but some ideas ...) |
Prj1
|
|