Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Calculatoare şi tehnologia informaţiei
Programul de studii: Ingineria informatiei - in limba engleza
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MID0026	Software Systems Modeling	

Semester	Hours: C+S+L+P	Category	Status	
5	3+0+2+1	speciality	compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
LAZAR Ioan	Ph.D.	Lect.	Programming  Languages and Methods	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
At the completion of this course, the students must: 
•	have systematic knowledge on model-driven software processes
•	know basic elements of SysML, BPMN, XPDL modeling languages
•	know basic patterns used in the system analysis phase
•	know basic patterns used in modeling the behavior of a system 
•	know some tools for modeling and model transformation	

IV. Course contents
1.	Model-driven software process
2.	Using SysML in system analysis
3.	Using SysML to model the system behavior
4.	Using SysML to model the system structure
5.	Using SysML to model the business rules
6.	Business process modeling
7.	Workflow patterns
8.	Basic analysis patterns
9.	Domain-driven development	

V. Bibliography
[Ambler04] Ambler, S.W. The Object Primer: Agile Model-Driven Development with UML 2.0. Cambridge University Press, 2004. 
[Fowler99] Fowler, M. Analysis Patterns &#8211; Reusable Object Models. Addison-Wesley, 1997.
[Evans03] Evans, E. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, 2003.
[OMG03] OMG. MDA Guide Version 1.0.1. Object Management Group, 2003. http://www.omg.org/docs/omg/03-06-01.pdf 
[OMG06] OMG. Business Process Modeling Notation Specification, V1.0. Object Management Group, 2006. http://www.bpmn.org/ 
[WPI06] Workflow Patterns Initiative. Control-Flow, Data, Resource, and Exception Handling Patterns. Workflow Patterns Home Page, 2006. http://www.workflowpatterns.com/ 	

VI. Thematic of didactic activities per weeks
1.	Model-driven software process
1.1.	Model-driven architecture (MDA)
1.2.	Agile model-driven development (AMDD)
1.3.	Model transformation (Groovy MDA, AndroMDA, Eclipse GMT)
2.	Using SysML in system analysis
2.1.	Requirement diagrams
2.2.	Block diagrams
3.	Using SysML to model the system behavior
3.1.	Requirement diagrams
3.2.	Activity diagrams
3.3.	State diagrams
4.	Using SysML to model the system structure
4.1.	Block diagrams
4.2.	Internal block diagrams
4.3.	Package diagrams
5.	Using SysML to model the business rules
5.1.	Types of requirements; FURPS model
5.2.	Additional requirements; business rules
5.3.	SysML: Parameter diagrams
6.	Business process modeling
6.1.	Standard process notations (Business Process Modeling Notations, BPMN)
6.2.	XPDL workflow language
6.3.	Mapping between BPMN, XPDL, and UML activities
7.	Workflow patterns: patterns for controlling execution
8.	Workflow patterns: patterns for data flows
9.	Workflow patterns: patterns for resource flows
10.	Basic analysis patterns
10.1.	Organizational structure
10.2.	Observation and measurement
11.	Basic analysis patterns
11.1.   Planning
11.2.    Financial data
12.	Domain-driven development
12.1.	Entities, value objects, aggregates, services
12.2.	Thin models
13.	Modeling graphical user interfaces using workflows
14.	Modeling graphical user interfaces using state machines	

VII. Didactic methods used
The course is based on the following methods: exposure, conversation, didactical proof, modelling, and the discussion of some case studies and programming examples. 
Each student must develop two software projects.	

VIII. Assessment
Grading activities are as follows:
•	modeling project (1) (25%)
•	implementation project (2)  (25%) 
•	written mid-term exam (20%) 
•	written final exam (30%) 
The final grade is computed as an weighted average of the individual marks obtained at the above activities (weights are given in parentheses). 	

IX. Additional references
[Konig07] Konig, D. Groovy in Action. Manning, 2007.
[Rocher06] Rocher, G.K. The Definitive Guide to Grails. Apress, 2006.	

	Dean,							Chair head,

	Date,							Course responsible,
								Lect. LAZAR Ioan, Ph.D.