"Babes-Bolyai" University of Cluj-Napoca
Faculty of Mathematics and Computer Science

System analysis and design
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MI010
5
2+2+0
6
compulsory
Informatică
MI010
5
2+2+0
5
compulsory
Matematică-Informatică
MI010
5
2+2+0
6
compulsory
Matematica Economica
Teaching Staff in Charge
Prof. PÂRV Bazil, Ph.D., bparv@cs.ubbcluj.ro
Lect. DARVAY Zsolt, Ph.D., darvay@cs.ubbcluj.ro
Aims
At the completion of this course, the students will be able to:
a) have a systematic knowledge concerning application development methodologies
b) be familiarized with the modern concepts and preocupations in the field of developing application software
c) be aware of place and role of management information systems at a corporate level
d) understand the importance of documentation during the whole software development process.
Content
1. PROGRAMS, IT PROFESSIONALS, ORGANIZATIONS
1.1. Programs, software applications, software systems
1.2. IT professions
1.3. IT activities and their role in an organization
2. SOFTWARE DEVELOPMENT PARADIGMS
2.1. The life cycie of a software application
2.2. Steps to software engineering
2.3. Software engineering: definition
2.4. The classical life cycle (the cascade model)
2.5. Prototyping
2.6. The iterative and incremental life cycle (the spiral model)
2.7. 4th generation techniques
2.8. How to combine paradigms
2.9. Software engineering: present and future
3. SOFTWARE PROJECT PLANNING
3.1. Human factors involved in the software development process
3.2. The organization of the software development process
3.3. Other planning activities
3.4. Software project plan
4. REQUIREMENTS ANALYSIS
4.1. What is requirements analysis?
4.2. Communication techniques
4.3. Requirements analysis techniques
4.4. Anaysis methods
4.5. Requirements specification
4.6. The review of requirements
5. THE CONCEPTUAL DATA MODEL
5.1. The entity-relationship (E-R) data model
5.2. Data modeling using E-R model
5.3. Generalization
5.4. Business rules
5.5. Steps in (conceptual) data modeling
5.6. An example of E-R modeling
6. THE ESSENTIAL PROCESS MODEL
6.1. Data flow diagrams (DFD)
6.2. Process modeling in the development cycle
6.3. DFD examples
6.4. A step-by-step approach of process modeling
7. SOFTWARE DESIGN
7.1. Design fundamentals
7.2. Design steps
7.3. Design concepts
7.4. Software architecture design
7.5. The design documentation
8. LOGICAL DATA DESIGN
8.1. The logical data model
8.2. The relational model
8.3. The Concepts of normalization
8.4. Normal forms
8.5. Steps in transforming E-R diagrams into relations
8.6. How to obtain logical data model
8.7. Event analysis
9. PROCESS DESIGN
9.1. General design decisions
9.2. Implementation models
9.3. The general process design
9.4. The primitive process design
9.5. Tools used in process specification
10. PHYSICAL DATA DESIGN
10.1. The physical data design process
10.2. The analysis of data volume and usage
10.3. Data distribution strategies
10.4. File organization
10.5. Indexing
10.6. Integrity constraints
11. USER INTERFACE DESIGN
11.1. Tasks of user interface design
11.2. Manual, batch, and on-line processing
11.3. The design of input documents and reports
11.4. Human-computer interaction
12. IMPLEMENTATION, TESTING, INSTALLING, AND MAINTENANCE
12.1. Programming specifications
12.2. The coding process
12.3. Testing
12.4. The installation (deployment) process
12.5. The system in production phase. Maintenance

Each chapter is presented in a two-hour lecture. The only exceptions are chapters 5 and 8, with two two-hour lectures each. The lectures take the form of PowerPoint presentations and discussions. The students are invited to read the course material in advance.

Seminar activities
1. Hierarchical diagrams - diagier.doc
System diagrams (the payroll system - old and actual versions) - diagsist.doc
Business function matrix in an organization - bussfunc.doc
2. IT professions - profesii.doc
The feasibility study - studfez.doc
3. System planning - an example: sc1_pps.doc
Software metrics: metriciSoft.doc
4. Case study: planning
Episode 1: the organization
CPP_1_Org.doc - the description of an organization
5. Case study: planning
Episode 2: starting a new software project CPP_2_Start.doc
6-7. Case study: requirements analysis (1)
Episode 3: general requirements CPP_3_Cerinte.doc
appendices:
entitz-relationship diagrams diager.doc
data flow diagrams diagfd.doc
communication techniques tehnici de comunicare.doc
the requirements specification document: speccerinte.doc
8-9. Case study: requirements analysis (2)
Episode 4: data modeling CPP_4_DataModel.doc
10-11. Case study: requirements analysis (3)
Episode 5: process modeling CPP_5_ProcModel.doc
appendix: tools used in process design notproc.doc
12-13. Case study: design (1)
Episode 6: logical data modeling Cpp_6_ModelLogicDate.doc
14. Case study: design (2)
Episode 7: logical process design Cpp_7_ModelLogicProc.doc

The course takes the form of PowerPoint presentations. The course and seminar materials are available on the Computer Science Department's server, in the folder ..\labor\romana\an3\aps
References
1. L.Constantine. E. Yourdon, Structured Design, Prentice Hall, 1979
2. T. DeMarco, Structured Analysis and System Design, Prentice Hall, 1979.
3. P.O. Flaaten, D. J. McCubbrey, P. D. O'Riordan, K. Burgess, Foundations of Business
Systems, Dryden Press, 1989
4. Frentiu,M. ºi B.Parv: Elaborarea programelor: metode si tehnici moderne, ProMedia,
Cluj-Napoca, 1994.
5. F.R. McFadden, J.A. Hoffer, Modern Database Management, Fourth Edition,
Benjamin/Cummings, 1994.
6. B. Pârv, Analiza si proiectarea sistemelor, Univ. "Babes-Bolyai", CFCID, Facultatea de
Matematica si Informatica, Cluj-Napoca, 2002, 2003.
7. R. S. Pressman, Software Engineering - A Practitioners Approach, Third edition,
McGraw Hill, 1992.
8. I. Sommerville, Software Engineering, Fifth edition, Addison-Wesley, 1996.
9. J. L. Whitten, L. D. Bentley, V.M. Barlow, System Analysis and Design Methods, Third
edition, Irwin, 1994.
Assessment
The assessment method is written exam. There will be two modeling problems: the first one is referring to requirements analysis, while the second belongs to the logical design. The final mark (on a ten points scale, one point by default) will be obtained as:
a) Seminar activity: 2 pts
b) Written exam:
1. Requirements analysis problem: 3 pts
2. Logical design problem: 4 pts