Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate
SUBJECT

Code	Subject	
MID0026	Software Systems Modeling	

Section	Semester	Hours: C+S+L	Category	Type	
Information engineering	5	3+0+2		compulsory	

Teaching Staff in Charge	Prof. PÂRV Bazil, Ph.D., bparv@cs.ubbcluj.ro
Lect. LAZAR Ioan, Ph.D., ilazar@cs.ubbcluj.ro	
Aims	At the completion of this course, the students must: 
&#8226;	have systematic knowledge on model-driven software processes
&#8226;	know basic elements of SysML, BPMN, XPDL modeling languages
&#8226;	know basic patterns used in the system analysis phase
&#8226;	know basic patterns used in modeling the behavior of a system 
&#8226;	know some tools for modeling and model transformation
	
Content	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 system behavior
3.1.	Requirement diagrams
3.2.	Activity diagrams
3.3.	State diagrams
4.	Using SysML to model system structure
4.1.	Block diagrams
4.2.	Internal block diagrams
4.3.	Package diagrams
5.	Using SysML to model 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
7.1.	Patterns for controlling execution
7.2.	Patterns for data flows
7.3.	Patterns for resource flows
8.	Basic analysis patterns
8.1.	Organizational structure
8.2.	Observation and measurement
8.3.    Planning
8.4.    Financial data
9.	Domain-driven development
9.1.	Entities, value objects, aggregates, services
9.2.	Thin models
10.	Graphical user interfaces
10.1.	GUI modeling with workflows
10.2.	GUI modeling with state diagrams
	
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.
[Konig07] Konig, D. Groovy in Action. Manning, 2007.
[Rocher06] Rocher, G.K. The Definitive Guide to Grails. Apress, 2006.
[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/ 
	
Assessment	Grading activities are as follows:
&#8226;	modeling project (1) (25%)
&#8226;	implementation project (2)  (25%) 
&#8226;	written mid-term exam (20%) 
&#8226;	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).