Luca Dan Serbanati
     Software Development Methods
     Faculty of Engineering in Foreign Languages.  English Stream.
     Third year. Spring 2017
     Laboratory: Conf. Andrei Vasilateanu, andraevs@gmail.com  
 
Email: luca@serbanati.com    URL: Personal website
General Information:
Course syllabus

Course: 3h/week
Lab work: 1h/week = 2h/2weeks
Project: 1h/week = 2h/2weeks
Credit points: 3

Laboratory and Project:
Andrei Vasilateanu, andraevs@gmail.com

Prerequisites:
"Data Structure and Algorithms" and "Object-oriented Programming" courses

Grading and workload
Our grade in the course will be earned / calculated as follows:
- Homework 10% + frequency(c/l/p) 10%
- Project 30%
- Final exam 50% (Theory 25% + Exercise 25 %)
Homeworks will be given roughly every week or two, and will each consist of a small number of problems. For the final project, you can pick any topic you want for further study from our project list. Your project has to involve implementing an application with the methods presented at the course. In all cases, the end product will be a written report and a software delivery. Grades may also be adjusted upward slightly based on regular, positive contributions to class discussions.
Project Policy.
1.The projects cover the whole life cycle of software products development: analysis, design, and coding. The result of the project is a real software product.
2.The course lectures and homeworks provide necessary guidance for project realization.
2.Project submissions must not include external materials (e.g., web downloads).
3. The project must be turned in on the due date. Late projects are not accepted for any reason and will receive a zero mark.
4.The project is an individual research work.
5. The projects will require substantial time commitment. We strongly invite students to begin working on assignments early.

Guidelines to Projects
1. At the beginning of the semester a list of project topics is made available at the web. Each student reports his/her preferred choice for a topic and the list of their submissions will be published in early March.
2. Throughout the semester, students will be responsible for development of a project.
3. The project report is submitted in early May. On the profs' request the student may rewrite the report in late May.
4. In the last two weeks of the semester the students are to give a 15 minutes presentation of the project. The presentation is a separate requirement for passing the exam in this subject and part of the grading of the project work.
We expect that effort spent will help the student to gain a thorough understanding of software project development.

Examination Policy
To attend the final examination a student should obtain at least 5(five) at the laboratory and project activity.
The comprehensive closed-book exam consists of a written answer to a quiz and two hours test consisting in analysis, design and implementation of a small application.

Course Redoing
If the student failsthe final examination she/he can redo it during the fall exam session. If redoing fails the student must
redo the entire course: laboratory, project, homework, and final examination.

Lecture notes: slides

Textbooks:

The Software Process
1. R.S.Pressman, Software Engineering: A Practitioner's Approach, 6/e, McGraw-Hill, 2004.
2. L.D.Serbanati, Integrating Tools for Software Development, Yourdon Press Computing Series, Prentice Hall, 1992.

Object Oriented Methods
3. M. Fowler, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3/e, Addison-Wesley, 2003.
4. C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3/e, Prentice Hall, 2004.
5. M. Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley, 1996.



Very important!!!
How working at home works
and project packages
All students are warmly invited to attend the course lectures and read the lecture notes because working homework assignments requires knowledge only covered by the course. The lab will never replace the course lectures or resume the knowledge transmitted during the course lectures. It is used to:
-verify current homework solving,
-correct errors or defaults in homeworks, and propose alternative or better ways to solve the problem,
-verify and evaluate studentsí knowledge of specific facts or concepts with focused questions, and
-validate delivery of current workpackage of the assigned project.
Schedule of Laboratory Topics and Homework
In order to put into practice what learned, sequencing of homework assignments exactly follows the phased development of a software project.
A link to the homework assignment and the corresponding topic will be released for each laboratory session.
Lab.# Week
Homework Topic & Link
Lab #1
20 Feb
CJ201
Accessing databases in Java (java.sql, javax.sql)
Tutorial
Homework #1
Lab #2
27 Feb
CJ201
Networking in Java(java.net).
Tutorial
Homework #2
Redo the database tutorial from last week using MySQL and MySQL Workbench instead of JavaDB
Lab #3
6 Mar
CJ201
RMI - Java Remote Method Invocation (java.rmi)
Oracle's Tutorial
Our Tutorial + Homework #3
Lab #4
Tue,13 Mar.
CJ201
Introduction to Software Engineering
Homework #4
Lab #5
Tue,20 Mar
CJ201
Object-Orientation Foundation:
Homework #5
Lab #6
Tue,27 Mar
CJ201
Hwk #6: Case study
Business Analysis and Modeling
Hwk deliv: Business Process Model
Guidelines L1 pdf

Lab #7
Tue,3 Apr
CJ201
Hwk #7: Case study
Software Requirements Analysis

Deliv: Software Use Case Model
System Sequence Diagram, Operation Contracts
Guidelines L2 pdf
Lab #8
10 Apr
CJ201
Hwk #8: Case study
Problem Domain Analysis and Modeling

Deliv: Problem Domain Model Class Diagram
Guidelines L3 pdf
Hwk #8.2: Cruise Booking
Lab #9
17 Apr
CJ201
Guidelines L3 pdf
Software Architecture

Deliv: Software Architecture
Hwk #5.1: Case study
Hwk #5.2: POS System
Lab #10
Tue, 24 April
CJ201
Guidelines L4. pdf
Behavioral Model
Deliv.: Interaction Diagrams
Hwk #6.1: Case study
Hwk #6.2: Loan request
Project Work

Here is the contents table for project deliverables.

Project Schedule
Each homework theme precedes with one week the delivery of the corresponding work package of the assigned project.
Working on homeworks and partecipating at lab sessions are useful for delivering project workpackages .
Date
Project Task
Project #1
Tue,13 Mar
CJ201

Project Assignment
The students are asked to submit their own Problem Statement for the project to be validated by the professor at laboratory.
The Problem Statement quality will be evaluated.
1. Dispatching Center
2. E_Camp
3.E-Hospital
4. E-Hotel
5.E_PhD
6.E-Conference
7. Electronic Health Record
8.E-Team Building

Schedule of lectures
Please note:
1.This schedule is subject to change
2. Look closely at this site for changes
Date/Time 
Lesson Topic 
Tue,20 Feb
9h - 12h
CJ205
Introduction to Systems Engineering
Complex Systems.
Fri, 23 Feb
8h - 11h
CB105
Introduction to Software Engineering
Software Process and Software Product
Software Process Life Cycles
UP Methodology
Tue, 27 Feb
9h - 12h CJ205
Object Orientation Foundation.
Concepts and Objects
Structural Models of OO Systems
Fri, 2 Mar
8h - 11h CB105
Behavioral model of OO systems
Lecture Notes
Tue, 6 Mar
9h - 12h CJ205
Introduction to Enterprise Engineering.
Components of the Business Models
Documenting Business with Models
Fri, 9 Mar
8h - 12h CB105
Activity Diagrams.
Using Activity Diagrams in Functional Models.
System Sequence Diagram. Operation Contracts. Lecture Notes
Tue, 13 Mar
9h - 12h
CJ205
Functional Model
Requirements Analysis.
Use Case Diagrams.
Use Case Description Lecture Notes
Fri, 16 Mar
8h - 11h CB105
Domain Model
Analysis Patterns
Tue 20 Mar
9h - 12h CJ205
Analysis patterns
Lecture Notes
Software Architectures
Architectural Analysis
Lecture Notes
Fri,21 Mar
8h - 11h CB105
Software Object Design.
Behavioral Model.
Collaboration and Interactions. Interaction diagrams
Overview diagrams
CRC Cards
Assigning Responsibility to Classes
Lecture Notes
Tue, 17 Apr
9h -12h CJ205
Design patterns
Patterns for Assigning of Responsibilities
Introduction to Design Patterns
Fri, 20 Apr
8h -11h CB105
Introduction to Design Patterns

Tue, 24 Apr
9h -12h CJ205
Dynamicity Model. Statechart Diagram
Fri, 27 Apr
9h -12h CB105
Component-based Software.
Component Diagram. Component-based development



Examinations

A student unable to present her/his identification document is not accepted for examinations.
Exam Date Time/Room
Visits from 04 January 2005: 177937 Last update: 2 April 2018