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

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

Laboratory and Project:
Prof. 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 30% + Exercise 20 %)
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

Accessing databases in Java (java.sql, javax.sql)
Tutorial
Homework #1
Lab #2

Networking in Java(java.net).
Tutorial
Homework #2
Homework #2_1
Redo the homework of the last week using MySQL and MySQL Workbench instead of JavaDB
Lab #3
RMI - Java Remote Method Invocation (java.rmi)
Oracle's Tutorial
Our Tutorial + Homework #3
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

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,28 Feb
12h - 15h
Introduction to Systems Engineering
Complex Systems.
Thu,3 Mar
14h - 16h
Introduction to Software Engineering
Software Process and Software Product
Software Process Life Cycles
UP Methodology
Lecture Notes
Tue, 7 Mar
12h - 15h
Object-Orientation Foundation.
Concepts and Objects

Thu, 9 Mar
12h-16h
Structural Models of OO Systems
Behavioral model of OO Systems
Events and Operations in OO Systems
Lecture Notes
Introduction to Business Engineering.
Business Modeling
Documenting Business with Models
Activity Diagrams.
Tue, 14 Mar
12h - 15h
BPMN Diagrams.
Lecture Notes
Functional Model
Requirements Analysis.
Use Case Diagrams.
Use Case Description
Lecture Notes
Thu, 16 Mar
12h -14h
Domain Model
Building a Domain Model
Thu, 20 Apr
12h - 14h
Domain Modeling in Color
Lecture Notes
Software Architectural Design
Activities in Architectural Design
Architectural Styles


Examinations

A student unable to present her/his identification document is not accepted for examinations.
Exam Date Time/Room
Visits from 04 January 2005: 27026 Last update: 27 Mar 2022