|  
     |  | 
	
    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/92/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 AnalysisSoftware 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 
		DesignDecomposing 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 DesignReusing 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 |      |