|Teaching Staff in Charge|
|Prof. PÂRV Bazil, Ph.D., bparvcs.ubbcluj.ro
Lect. LAZAR Ioan, Ph.D., ilazarcs.ubbcluj.ro
Asist. PETRASCU Dragos, petrascucs.ubbcluj.ro
At the completion of this course, the students will/should:
a) have a systematic knowledge concerning application development methodologies
b) be familiar with the modern concepts and techniques in the field of software development
c) know the models developed and modeling tools used in the software development process
d) understand the importance of documentation during the whole software development process.
1. SOFTWARE PROCESS
The life-cycle of a computer program
Software engineering: history, definitions
Waterfall life cycle
The spiral model, Boehm
The staged model
Extreme Programming, XP
2. SOFTWARE DEVELOPMENT: PRINCIPLES AND ACTIVITIES
Problem solving and software development
Communication: principles and tasks
Planning: principles and tasks
Analysis modeling: principles and tasks
Design modeling: principles and tasks
Construction: principles and tasks
Deployment and operation: principles and tasks
3. MODELING SOFTWARE PROCESSES AND SYSTEMS
Business process modeling
Tools for software modeling
4. UNIFIED MODELING LANGUAGE
UML. General issues
5. REQUIREMENTS GATHERING, ENGINEERING, AND SPECIFICATION
Requirements analysis process
Starting requirements analysis
6. ANALYSIS MODELING
Definitions, steps, elements, methods
Use case modeling
Data flow modeling
7. SOFTWARE DESIGN: CONCEPTS AND MODELS
Fundamentals of software design
8. PRINCIPLES OF O-O DESIGN
Architecture and dependencies
Class design: principles
Architectural design: principles (module reuse, module coupling)
9. DESIGNING ARCHITECTURE, DATA, AND PROCESSES
Architecture design. Software components
10. COMPONENT DESIGN
Logical architecture of the software system
OO design: steps
11. USER INTERFACE DESIGN
Interface design rules
User interface models
User interface construction
12. SOFTWARE TESTING: TECHNIQUES AND METHODS
Verification and validation
Software testing: steps and techniques
Packing and installing
14. SOFTWARE PROJECT PLANNING
Human factors involved in the software development process
The organization of the software development process
Other planning activities
The software project plan
1. Case study: requirements analysis (1) - general requirements
communication techniques tehnici de comunicare.doc
the requirements specification document: speccerinte.doc
2. Case study: requirements analysis (2) - conceptual data modeling
3. Case study: requirements analysis (3) - process modeling
4. Case study: Object-oriented requirements analysis
5. Case study: design (1) - logical data modeling and process design
6. Case study: design (2) - OO design
7. Full case studies
The course notes are PowerPoint presentations. The students are invited to read the course material in advance.
The course and seminar materials are/will be available on the Computer Science Department@s server, in the folder win\labor\romana\an2\iss
1. FLAATEN, P.O., MCCUBBREY, D.J., O'RIORDAN, P.D., BURGESS, K.: Foundations of Business Systems, Dryden Press, 1st ed. 1989, 2nd ed. 1997.
2. FOWLER, M., SCOTT, K.: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2nd ed., 1999.
3. IACOBSON, I., BOOCH, G., RUMBAUGH, J.: The Unified Software Development Process, Addison-Wesley, 1999.
4. MARTIN, R.C.: Agile Software Development: Principles, Patterns, and Practices, Prentice Hall, 2002.
5. PÂRV, B.: Analiza şi proiectarea sistemelor, Univ. Babeş-Bolyai, CFCID, Facultatea de Matematică şi Informatică, Cluj-Napoca, 2002, 2003, 2004.
6. PRESSMAN, R.S.: Software Engineering - A Practitioners Approach, McGraw-Hill, 3rd ed. 1992; 4th ed. 1996, 5th ed. 2001, 6th ed. 2005.
7. SCHACH, S.R.: Object-Oriented and Classical Software Engineering, McGraw-Hill, 5th ed., 2002, 6th ed. 2005.
8. SOMMERVILLE, I.: Software Engineering, Addison-Wesley, 5th ed. 1996, 6th ed. 2000, 7th ed. 2004.
9. Agile Modeling Homepage, [http://www.agilemodeling.com].
10. Software Engineering Body of Knowledge, IEEE, 2004. [http://www.swebok.org].
The grading activities are:
2 quizzes during lectures (10%)
3 programming projects (45%)
written midterm exam (20%)
written final exam (25%)
The final mark is computed as weighted average of the individual marks obtained.
(the weights are given in brackets).
Exam and quiz questions refer to the teaching material and mandatory readings. Programming projects involve small incremental changes to an existing open source project.
|Links:||Syllabus for all subjects|
Romanian version for this subject
Rtf format for this subject