|  
     |  | 
	
    Lecture Announcements 
      
     20-May-2005 
		|  | 
		Project demonstrations on Monday, 23 May 
		(The last demo day for all projects): COSS at 9:00, Incrediblesix at 10:30,  6-member no name team at 
		12:00, and others after 13:00.
 |  |  | 
		You should be ready at the lab 
		before your presentation time. That is all team members are present at 
		the lab, the programs are ready for presentation, the print outs of the 
		required project documents (SPMP, RAD, SAD, TD, UM) are on the table, and other UML design 
		documents are loadedon the demo computer. |  |  | 
		Coming late to your final project demo or 
		not being ready at the presentation time will be considered as a 
		negative point for your demo. You will not get an extra time for 
		your presentation. |  |  | 
		The members of some teams that have 
		unbalanced project works or have team members who did not do his/her 
		responsibilities will get different project grades.
 |  
      
     20-April-2005 
      
     7-April-2005 
		|  | 
		The project teams and their 
		web sites are posted
		here. |  |  | 
		The midterm exam date: 28 
		April 2005, Thursday, 2-hour exam.
 |  
      
     23-March-2005 
		|  | 
		Please look at the Course 
		Materials table given below. Your second homework assignment was 
		posted there. 
 |  
      
     17-March-2005 
		|  | 
			Recitation hour: 21 
			March, Monday, 11:00 - 13:00. |  |  | 
			I`ll give information 
			about the course project on this Monday. Project teams will be
			formed and projects 
			will start next week. Your project team will submit your project 
			proposal as a first project artifact. |  |  | 
			On Tuesday, 22 March in 
			class, you will be given the second quiz. Bring your books, it is 
			open-book. Topics for the quiz: UML and Design Patterns.
 |  
      
     16-March-2005 
		|  | 
			The recitation hours and 
			program demos will be held on Mondays between 11:00 - 13:00 
			in the Lab.
 |  
      10-March-2005 
			|  | An addition to the first homework assignment 
			(Quiz question):
 You will model the static view and dynamic view of one 
			of your banking transactions with an ATM machine using UML class and 
			sequence diagrams.
 
 First you should identify your objects, like customer (you), ATM 
			machine, bank, its central bank, another bank (you may need it in 
			money transfer transaction), their attributes, operations and 
			associations. You should show the class diagrams’ relationships, 
			associations, aggregations and generalizations, and multiplicity 
			numbers in your diagrams.
 
 Second you will take a transaction, like getBalance, 
			withdraw, deposit, transfer, and draw its sequence 
			diagram.
 
 |  
      7-March-2005 
			|  | Here 
			is your first homework assignment. |  |  | Your TA will do some more 
			announcements about this assignment, please look at
			
			his page at least once a day until the due date 16-March-2005.
			 |  |  | I may also update
			this document. Download it and 
			look at its version number. The first version number is 0.1. 
			
 |  
      15-Febrauary-2005 
			|  | 
    Welcome to CENG 302 Software Engineering! I hope 
	in this course you will master UML, and Java, learn some design patterns, methods, methodologies, and how to work with a team for conquering real complex and changing software systems. |  |  | 
    Try to visit my
    Software 
    Engineering page regularly, I will try to update it frequently in this 
    semester. |  |  | 
    Start to visit your
    Nasıf Ekiz'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. |  
    Course Materials   
    
    (Lecture Slides, Readings, 
    Programs, Technical Documents) 
    Lecture Slides   
	
	2003 Semester Slides 
      
      
        | Date | Material | Topics Covered | Projects | HW/Q |  
        | 22/2 | 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)
 | Project Tools: 
		Implementation, modeling and other tools |  |  
        | 7/3 | 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 | HW1 Q1, Q2
 |  
        | 17/3 | Lec 3 MVC Sup
 Samples
 | 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), Two Creational 
		Patterns: Factory Method and Abstract Factory, A Structural Pattern: 
		Facade.
 | Introduction to 
		Design Patterns | HW2 |  
        | 23/3 | Lec 4 MSF,
		TeamWork
 Meetings
 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
 |  |  
        | 4/4 | Lec 5.1 Lec 5.2
 | 
		Project 
		Management An Overview of Project Management: Basic Definitions, Management 
		Models, Phases of a Software Project.
 Project Management Concepts: Tasks and Activities, Work Products, 
		Work Packages, Work Breakdown Structure, Task Model, Skill 
		Matrix, Organizations and Roles, Visualizing Organization Structures, The Software Project Management Plan (SPMP).
 Project Management Activities: Planning, Organizing, Controlling, 
		and Terminating the Project (chp 14)
 | Software Project Management Plan (SPMP) including 
		the Project Proposal 7 April 2005 Thursday
 |  |  
        | 7/4 | Lec 6 | 
		Requirements 
		ElicitationSoftware Lifecycle and 
		Adding Process, Requirements and System Fitness, An Overview of 
		Requirements Elicitation, Requirement Elicitation Concepts, Requirement 
		Elicitation Activities, Managing Requirements Elicitation (RAD) (chp 4)
 |  |  |  
        | 15/4 | Lec 7 Projects
 | 
        Requirements 
		AnalysisAn Overview of Analysis, 
		Analysis Concepts, Analysis Activities: From Use Cases to Objects, 
		Managing Analysis, Case Studies for Requirements Analysis (chp 5)
 | Requirements Analysis 
		Document (RAD) 21 April 2005 Thursday
 |  |  
        | 6/5  | Lec 8.1 EMS1 Case Study
 EMS1 Slides
 | System 
		Design IDecomposing 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)
 |  |  |  
        | 9/5  | Lec 8.2 
 | System 
		Design IIAddressing 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)
 | System Architecture 
		Document (SAD) Iterative Development Process Starts
 5 May 2005 Thursday
 |  |  
        | 9/5  | Lec 9.1 | Object Design 
		I 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)
 |  |  |  
        | 12/5  | Lec 9.2 | Object 
		Design II Specifying Interfaces:
 Interface Specification Concepts and Activities, Managing Object Design 
		(Chp 9)
 |  |  |  
        | 12/5  | Lec 10 | Mapping Models to CodeMapping Concepts, Mapping Activities, Managing Implementation (Chp 10)
 |  |  |  
        | 12/5  | Lec 11 | Testing 
		Testing Concepts, Testing Activities, Managing Testing (Chp 
		11)
 |  |  |  
        | 25/5  | Last Lesson  | New Story of the Hare and 
		Tortoise |  |  |      
	
	Templates and Project Work     
      
      
        | Document 
		Templates and Project Work | Samples | Deadline | Percent on 
        Project Grade |  
        | SPMP |  | 7 April | 15 |  
        | RAD (Requirement 
        Analysis Document) | RAD1 
		RAD2 | 21 April | 15 |  
        | SAD (System 
        Architecture Document) (System and Object Design Documents)
 | SAD1 
		SAD2 | 5 May | 15 |  
        | TD (Testing 
        Document)     
		Testing-Debugging |  | 9 May | 10 |  
        | UM (User Manual) |  | 16 May | 10 |  
        | Process & 
        Communication |  |  | 10 |  
        | Coding 
        and Product |  | 19 May | 25 |  
        | Other Samples (not ideal 
		projects, but some ideas ...) | Prj1 |  
    Readings 
      
      
        | Software 
        Processes (Methodologies) |  
        | Date | Material | Comments |  
        |  | 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 |  
        |  | MSF | Microsoft Solution Framework | Datasheets and white papers 
        describing MSF’s updated models and disciplines are now available in the
        
        MSF Resource Library. |                
    References 
    Some OO Links   |