CENG 401 Software Engineering

12/20/10

Home
Up

 

Lecture Announcements

31 December 2007

bullet

All project demonstrations and evaluations will be on 3 January 2008, Thursday (CENG 401) and 4 January 2008, Friday (BILM 401), between 9:00 and 16:00.

bullet

The project team demonstrations will be scheduled according the CENG 401 projects list (6 projects) and BILM 401 projects list (6 projects).

bullet

There will be 3 projects (at 9, 10 and 11) in the morning, and 3 projects (at 13, 14, and 15) in the afternoon on Thursday (CENG 401 Projects) and Friday (BILM 401 Projects).

bullet

A project demo duration will be 30-45 minutes depending on the project.

bullet

All team members must be ready to answer questions about your project in the lab at your presentation time.

bullet

When evaluating a project team in their time, other teams will not be in the lab.

bullet

You should come at least 30-45 minutes before your demo time, your team may be called earlier depending on the project presentation before your time

bullet

Upload all your project work to your project web site before your demo time.

bullet

You should have submitted your printed documents, updated Project Proposal, RAD, SAD, and UM, to your instructor before your demonstration.

bullet

Your running program, UML modeling and development tools (Borland JBuilder 2007) must be ready before you show your final work.

bullet

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!

bullet

You should also bring your Project Contribution Report. Prepare it using this template.

bullet

When evaluating your project, I'll use this project organization document for your project organization and this grading policy document for grading all artifacts and activities of your project.

bullet

During the demo, first of all, you have to show your software architecture and working prototype based on PCMEF meta architecture using Together and your implementation tool (Eclipse or JBuilder).

bullet

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.

bullet

Your User Manual (UM), Coding and Product (CP) will be graded this last week. Your Process and Communication (PC) have being graded for some time...

bullet

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

bullet

The announcements on this page may be updated depending on your questions and some new needs. So please check this page for a while ...

  

24 September 2007

bullet

Welcome to CENG 402 Software Engineering! In this course you will be introduced to how to conquer real complex and changing software systems.

bullet

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.

bullet

Start to visit your TAs ( Melek Oktay and A. Volkan Gürel ) web pages regularly. They will make their announcements on their pages. The homework solutions, some program samples and documents related to project activities will be posted there.

Course Materials

   Lecture Slides
bullet

Purpose: To allow better concentration in lecture by reducing note-taking pressure and to provide a study-aid before and after lecture.

bullet

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.

bullet

Almost all slides used during the course will be 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

24/9
1/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

8/10
15/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
5 22/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 29/10  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
5/11
12/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
19/11
26/11

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 3/12   Midterm Exam    
12 10/12
17/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  
13 24/12 Lec 8

Testing
Testing Concepts, Testing Activities, Managing Testing (Chp 11)

   
14 1/1
2008
 

Project Demonstrations and Evaluations

User Manual (UM), Coding and Product  

 

 

   UML
bullet

Inside the UML, Rational, a multimedia tutorial to UML, requires Quick Time, (336MB !).

bullet

Allen Holub's UML Quick Reference     UML Reference Card (Short, UML 1.4)

bullet

The UML Reference Manual

bullet

Project Grading Policy  

 

   Project
bullet

Course project grading policy.

bullet

Look at the web site of our text book OOSE for document templates and sample projects.

bullet

Also look at Software Design and Documentation page. 

 

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 ...) RAD-SAD Samples

 

 

Home

This site was last updated 01/29/08