syllabus
1. Information regarding the programme
1.1 Higher education institution 	Babeş Bolyai University		
1.2 Faculty	Faculty of Mathematics and Computer Science		
1.3 Department	Department of Computer Science		
1.4 Field of study	Computer Science		
1.5 Study cycle	Bachelor		
1.6 Study programme / Qualification 	Computer Science		

2. Information regarding the discipline 
2.1 Name of the discipline	Software Systems Modelling	
2.2 Course coordinator 	Lect. dr. Ioan Lazar	
2.3 Seminar coordinator	Lect. dr. Ioan Lazar	
2.4. Year of study		2.5 Semester		2.6. Type of evaluation		2.7 Type of discipline		

3. Total estimated time (hours/semester of didactic activities) 
3.1 Hours per week 	6	Of which: 3.2 course	3	3.3 seminar/laboratory	3	
3.4 Total hours in the curriculum 	84	Of which: 3.5 course	42	3.6 seminar/laboratory	42	
Time allotment:	hours	
Learning using manual, course support, bibliography, course notes	30	
Additional documentation (in libraries, on electronic platforms, field documentation) 	10	
Preparation for seminars/labs, homework, papers, portfolios and essays	23	
Tutorship	7	
Evaluations	20	
Other activities: ..................		
3.7 Total individual study hours 	80	
3.8 Total hours per semester	150	
3.9 Number of ECTS credits	5	

4. Prerequisites (if necessary)
4.1. curriculum	•	Software Engineering	
4.2. competencies	•	UML basic knoledge	

5. Conditions (if necessary)
5.1. for the course	•	-	
5.2.  for the seminar /lab activities	•	Laboratory with computers; high level programming language environment & CASE tools	

6. Specific competencies acquired 
Professional competencies	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	
Transversal competencies	•	Ability to apply software systems modelling techniques to different real life problems
•	Improved programming & designing abilities	

7. Objectives of the discipline (outcome of the acquired competencies)
7.1 General objective of the discipline
	•	have systematic knowledge on model-driven software processes
•	know basic patterns used in the system analysis phase and in modeling the behavior of a system 	
7.2 Specific objective of the discipline
	•	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	

8. Content
8.1 Course	Teaching methods	Remarks	
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)	Exposure: description, explanation, examples, discussion of case studies		
2.	Using SysML in system analysis
2.1.	Requirement diagrams
2.2.	Block diagrams	Exposure: description, explanation, examples, discussion of case studies		
3.	Using SysML to model the system behavior
3.1.	Requirement diagrams
3.2.	Activity diagrams
3.3.	State diagrams
	Exposure: description, explanation, examples, discussion of case studies		
4.	Using SysML to model the system structure
4.1.	Block diagrams
4.2.	Internal block diagrams
4.3.	Package diagrams
	Exposure: description, explanation, examples, discussion of case studies		
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
	Exposure: description, explanation, examples, discussion of case studies		
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
	Exposure: description, explanation, examples, discussion of case studies		
7.	Workflow patterns: patterns for controlling execution
	Exposure: description, explanation, examples, discussion of case studies		
8.	Workflow patterns: patterns for data flows
	Exposure: description, explanation, examples, discussion of case studies		
9.	Workflow patterns: patterns for resource flows
	Exposure: description, explanation, examples, discussion of case studies		
10.	Basic analysis patterns
10.1.	Organizational structure
10.2.	Observation and measurement
	Exposure: description, explanation, examples, discussion of case studies		
11.	Basic analysis patterns
11.1.   Planning
11.2.    Financial data
	Exposure: description, explanation, examples, discussion of case studies		
12.	Domain-driven development
12.1.	Entities, value objects, aggregates, services
12.2.	Thin models
	Exposure: description, explanation, examples, discussion of case studies		
13.	Modeling graphical user interfaces using workflows	Exposure: description, explanation, examples, discussion of case studies		
14.	Modeling graphical user interfaces using state machines	Exposure: description, explanation, examples, discussion of case studies		
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 - 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/	
8.2 Seminar / laboratory	Teaching methods	Remarks	
1.	Model-driven software process	Dialogue, debate, case studies, examples, proofs		
2.	Using SysML in system analysis	Dialogue, debate, case studies, examples, proofs		
3.	Using SysML to model the system behavior	Dialogue, debate, case studies, examples, proofs		
4.	Using SysML to model the system structure	Dialogue, debate, case studies, examples, proofs		
5.	Using SysML to model the business rules	Dialogue, debate, case studies, examples, proofs		
6.	Business process modeling	Dialogue, debate, case studies, examples, proofs		
7.	Workflow patterns: patterns for controlling execution
	Dialogue, debate, case studies, examples, proofs		
8.	Workflow patterns: patterns for data flows
	Dialogue, debate, case studies, examples, proofs		
9.	Workflow patterns: patterns for resource flows
	Dialogue, debate, case studies, examples, proofs		
10.	Basic analysis patterns	Dialogue, debate, case studies, examples, proofs		
11.	Basic analysis patterns	Dialogue, debate, case studies, examples, proofs		
12.	Domain-driven development	Dialogue, debate, case studies, examples, proofs		
13.	Modeling graphical user interfaces using workflows	Dialogue, debate, case studies, examples, proofs		
14.	Modeling graphical user interfaces using state machines	Dialogue, debate, case studies, examples, proofs		
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 - 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/	

9. Corroborating the content of the discipline with the expectations of the epistemic community, professional associations and representative employers within the field of the program

•	 The course respects the IEEE and ACM Curriculla Recommendations for Computer Science studies;
•	The course exists in the studying program of all major universities in Romania and abroad;
•	The content of the course is considered the software companies as important for average programming skills.	

10. Evaluation
Type of activity	10.1 Evaluation criteria	10.2 Evaluation methods	10.3 Share in the grade (%)	
10.4 Course	- know the basic principle of the domain;
- apply the course concepts
- problem solving	Written exam
	50%	
10.5 Seminar/lab activities	- be able to implement course concepts and algorithms
- apply techniques for different classes of programming languages	-Practical examination
-documentation
-portofolio
-continous observations	50%	
10.6 Minimum performance standards	
•	At least grade 5 (from a scale of 1 to 10) at both written exam and laboratory work.	

Date				Signature of course coordinator 	Signature of seminar coordinator
26.09.12			Lect. dr. Ioan Lazar		Lect. dr. Ioan Lazar

Date of approval  					  Signature of the head of department	
29.09.12							Prof. dr. Bazil Parv