Page 1 of 4 Philadelphia University Faculty of Information Technology

Page 1 of 4
Philadelphia University
Faculty of Information Technology
Department of Software Engineering
Second Semester, 2014/2015
Course Syllabus
Course Title: Software Modeling
Course code: 0721222
Course prerequisite:
Course Level: 2
0721210
Lecture Time: 11.15– 12.30
Credit hours: 3h +1h ( Lab practice)
Academic Staff
Specifics
Name
Rank
Office Number
and Location
Office Hours
E-mail Address
S, T, T
Dr Maouche
Associate
Room 601
Mourad
Professor
IT building
13.00 -14.00
M, W
10.00 – 11.00
mmaouch@philadelphia.edu.jo
Course description:
Models are an integral part of every engineering discipline, as they become in software
engineering. Modeling can be done in many ways and with different levels of formality.
Modeling concerns software products, software processes, enterprise and business processes.
Teaching modeling is as important as the modeling itself since it educates the future software
engineers in good modeling practices.
Course objectives:
The aim of this course is to:
 Introduce early in the Software Engineering curricula the concept of modeling, its
motivations and benefits (lectures).
 Study several modeling frameworks in Software Engineering (lectures).
 Study UML constructs.
 Provide good modeling practices through various real case studies (tutorials, workshops,
laboratory).
Course components:
Texbooks
1. Object Oriented Modeling and Design with UML, M. Blaha, J. Rumbaugh, second edition,
2005, Pearson, Prentice Hall
2. Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures;
Hassan Gomaa, Cambridge University Press, 2011
Support material (s): slides, books, software modeling tools
Teaching methods: Lectures, Tutorials, Laboratory
Duration: 16 weeks, 64 hours in total. Lectures: 40 hours, Tutorial: 8 hours. Laboratory: 16h
Learning outcomes
Knowledge and understanding:
1. Explain the need for describing software systems with models, as a way to abstract from the
system’s complexity and to reason about its properties.
2. Explain the role, the importance and benefits of modeling in the different phases of software
development.
3. Recall the mechanisms used to deal with system complexity (abstraction, decomposition,
hierarchy)
4. Recall and explain the different modeling perspectives (structure, behavior, interaction)
5. List, Describe the various UML diagrams: object diagram, class diagram, state diagram,
sequence diagrams, activity diagram
6. Explain the various concepts related to the UML diagrams (object, class, attribute, event,
action, activity, transition, association, aggregation/composition, inheritance...)
Cognitive skills (thinking and analysis)
1. Acquire skills in modeling.
2. Apply abstraction and separation of concerns principles
3. Distinguish General purpose modeling languages from Domain specific modeling
languages
4. Build models for ‘as-is’ and for ‘is-to-be’ systems
5. Refine and combine models
6. Analyze, evaluate and validate software models.
7. Transform simple models into code
Communication skills (personal and academic).
9. Be able to prepare and deliver coherent and structured verbal and written technical report.
10. Be able to display an integrated approach to the deployment of communication skills, use
IT skills and display mature computer literacy; strike the balance between self-reliance and
seeking help when necessary in new situations, and display personal responsibility by
working to multiple deadlines in complex activities.
Practical and subject specific skills (Transferable Skills).
11. Draw Software Models using appropriate software modeling tools.
12. Practice UML language syntax
Assessment of Learning Outcomes
Learning outcomes (1-8) are assessed by examinations, tutorial. Learning outcomes (9,10, 11
and 12) are assessed by assignments and laboratory.
Assessment instruments
 Class works: 15
(quizzes)
 Practice (case tool): 05
 Final examination: 40
 Short Examinations: 2 x 20
Allocation of Marks
Assessment Instruments
Mark
First examination
20
Second examination
20
Final examination:
40
Classworks/Practice
20
Total
100
Documentation and academic honesty
 Documentation style (with illustrative examples)
- Practical works reports must be presented according to the style specified in the homework and practical work guide
 Protection by copyright
 Avoiding plagiarism
- Any stated plagiarism leads to an academic penalty
Course/module academic calendar
Basic and support material to be covered
week
(1)
Bbn Introduction to software modeling:
Wh
(2)
Homework/repts
(due dates)
Dd
(3)
(4)
(5)
(6)
What is modeling? What is a model? Why do we
need to model?
What may be modeled? What can we do with
models?
What are aspects that need to be modeled?
Typology of modeling languages, Modeling tools
Structural Modeling: Object Diagrams, Class
diagrams
Tutorial1
Structural Modeling: Associations
Structural Modeling: Associations
Tutorial2
Structural Modeling: Composition / Aggregation
Structural Modeling: Inheritance (simple/multiple)
Quiz1
First Examination
Interaction Model: State Model
Interaction Modeling: State Model
Tutorial 3
Interaction modeling: Use cases – Refinement
(9)
Interaction Modeling: Use cases – Relationships
(10)
Tutorial 4
(11)
Second Examination Interaction Diagrams: Activity Diagrams
Interaction Diagrams: Activity diagrams
(12)
Tutorial 5
Interaction Diagrams: Sequence diagrams
(13)
Interaction Diagrams: Sequence diagrams
(14)
Tutorial 6
(15)
Interaction Diagrams: Collaboration diagrams
(16)
Revision
(7)
(8)
Final Examination
Quiz2
Quiz3
Quiz4
Quiz5
Expected workload
On average students need to spend 2 hours of study and preparation for each 50-minutes
lecture/tutorial.
Attendance policy
Absence from lectures and/or tutorials shall not exceed 15%. Students who exceed the 15% limit
without a medical or emergency excuse acceptable to and approved by the Dean of the relevant
college/faculty shall not be allowed to take the final examination and shall receive a mark of zero for
the course. If the excuse is approved by the Dean, the student shall be considered to have withdrawn
from the course.
Module references
1. Object oriented Software Engineering; Using UML, Patterns and Java; B. Bruegge, A. H.
Dubois; New Delhi: Dorling Kindersley/Pearson, Second Edition, (Eleventh impression 2012)
2. Modeling software behavior; a craftsman's approach, Jorgensen, Paul C, CRC. Press Online,
2009
3. The Art of Software Modeling, Benjamin A. Lieberman, Auerbach Publications, 2006.
4. Object Oriented Modeling and Design with UML, M. Blaha, J. Rumbaugh, second edition,
2005, Pearson, Prentice Hall
5. UML in Practice: The Art of Modeling Software Systems Demonstrated through Worked
Examples and Solutions, John Wiley & Sons, 2004.
6. UML Distilled: A brief guide to the standard object modeling language, Fowler, M, Third
Edition, Addison-Wesley, 2004.