CENG 302 Software Engineering

Home
Up

 


Lecture Announcements

  29-June-2003  

   Final Exam
bullet

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.

bullet

The final exam will be a closed book exam, but you can bring 2 pages to the exam. The information about these 2 pages:

bullet

Take a print out of the 2-page UML Reference Card.

bullet

Write anything you want to the back sides of these two pages.

bullet

Bring these two pages having your own hand-written parts to the final exam.

bullet

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
bullet

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.

bullet

Your raw project grades are posted here.

bullet

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.

bullet

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

bullet

I am now on vacation and I will be back on Monday, 23rd of June.

bullet

I will post your project grades in the next week.

bullet

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.

bullet

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.

bullet

I will do an announcement for the final exam in the middle of the next week.
 

  12-June-2003

bullet

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

bullet

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.

bullet

See my software design, documentation and coding page. Your source files must satisfy the minimum requirements given in this page.
 

  11-June-2003

bullet

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:

bullet

Submit SAD, SPMP,  and the updated RAD documents (Deadline: Friday, 5 pm).

bullet

Submit UM and TD (Deadline: Monday, 5 pm).

bullet

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. 

bullet

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.

bullet

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.

bullet

Upload all design documents (in word format, also optionally in other formats) to your web site.

bullet

Work on your software, coding documentation, and API.

bullet

Upload all your UML design documents (normally Together project) in a zip file to your web site.

bullet

Upload your JBuilder or Together project directory in a zip file and/or other implementation source files to your web site.

bullet

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.

bullet

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.

bullet

I will download your project web site zip file and open it on my machine before our meeting starts.

bullet

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.

bullet

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

bullet

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).

bullet

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.

bullet

Dont put Glossary and Index parts as you will see in the word templates into your SAD.

bullet

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.

bullet

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

bullet

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

 

bullet

Don't forget: What you analyze, design, and implement with artifacts is a software product, not simply a program.

bullet

Look at the Project Grading Policy Document when preparing the next documents.

 

   28-May-2003

bullet

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.

bullet

You can get your RAD documents from me and look at the comments I have written.

bullet

You will resubmit the final RAD document to me after making corrections and adding missing parts.

bullet

Your RAD grade will not change.
 

  14-May-2003
   Some common mistakes in RAD documents I have seen so far:

bullet

Drawing Use Case Diagrams but forgetting companion explanations for use cases. For each use case oval, you should normally write a use case document.

bullet

You should use the use case template given on page 40. Look at also the example use case on page 41.

bullet

Ignoring scenarios. Use the template on page 42 for your scenarios.

bullet

Ignoring 3.5.5 (first GUI prototypes) - navigational paths and screen mockups.

bullet

Forgetting the practices of your software development process and team work.

bullet

Grammar and spelling mistakes.
 

  14-May-2003

bullet

Today and tomorrow (Friday) you are required to talk to me about your RAD and your project progress.

bullet

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.

bullet

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.

bullet

We will download your documents from your web site tomorrow for grading.

bullet

For full grading, meeting and oral status reporting are required.
 

  13-May-2003
   Online Documentation

bullet

In your design documentations (RAD, architecture (system/object) and implementation documents) try to use the online document generation features of Together.

bullet

Look at the following presentation Documentation Designer, Tips and Trips.

bullet

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

bullet

You can use the following html and word templates for your RAD (Requirement Analysis Document) which you will submit this week.
 

  24-April-2003

bullet

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.

bullet

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.

bullet

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.

bullet

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

bullet

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!

bullet

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)

bullet

The midterm date is 15 May 2003, Thursday, Time: 09:00-12:00.

bullet

The last grading update: Project: 40 %, Homeworks and Quizzes: 20 %, Midterm: 20 %, Final Exam: 20 %.
 

  21-April-2003

bullet

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

bullet

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

bullet

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

bullet

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.

bullet

You will submit your assignments within 1 week. Deadline extension requests for homework assignments and the course project will not be accepted!

bullet

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

bullet

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.

bullet

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.

bullet

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

bullet

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.

bullet

Download the following reference document and use it during the semester.

bullet

Try to visit my Software Engineering page regularly, I will try to update it frequently in this semester.

bullet

Read the readings in the Preface and Chapter 1. We will start Chapter 2: Modeling with UML next week.

bullet

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.

 

 

 Project Management
 Date Material Comments

3/4

Software Project Management Plan Your team's project (program) manager (PM) will prepare a similar document. Other members may also contribute to this document, but your PM will be responsible for this management document.

3/4

A Guide to the Project Management Body of Knowledge PMI Standards Committee.

3/4

Recommended Approach to Software Development Revision 3, SEL-81-305 NASA Software Engineering Laboratory Series, June 1992.

 

 

 Testing
 Date Material Comments

16/4

Software Testing and Quality Assurance Portal  

22/4

What Is Software Testing? And Why is it so Hard? J. A. Whittaker, IEEE Software, January/ February 2000.

 

 

 Misc
 Date Material Comments

17/4

Teaching Teamwork Thomas B. Hilburn, Watts S. Humphrey.

7/4

UML Reference Card Allen I. Holub.

 

 

Homeworks, Exams and Solutions

References

Some OO Links

bullet

Object-Oriented Software Development (Cetus links)

bullet

Martin Fowler

bullet

Douglas C. Schmidt

 

Home | CENG 302 Software Engineering | CENG 302 Design Project