Systems Analysis and Design |
ter |
||||
Teaching Staff in Charge |
Prof. PÂRV Bazil, Ph.D., bparvcs.ubbcluj.ro Lect. CHIOREAN Ioan Danut, Ph.D., chioreancs.ubbcluj.ro Lect. LAZAR Ioan, Ph.D., ilazarcs.ubbcluj.ro Lect. KOVACS Lehel, klehelcs.ubbcluj.ro Asist. PETRASCU Dragos, petrascucs.ubbcluj.ro |
Aims |
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. |
Content |
1. SOFTWARE PROCESS
The life-cycle of a computer program Software engineering: history, definitions Waterfall life cycle Prototyping The spiral model, Boehm The staged model Incremental change 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: principles and tasks 3. MODELING SOFTWARE PROCESSES AND SYSTEMS System modeling Business process modeling Tools for software modeling 4. UNIFIED MODELING LANGUAGE UML. General issues Modeling requirements Modeling classes Modeling behavior Modeling architecture 5. REQUIREMENTS GATHERING, ENGINEERING, AND SPECIFICATION Communication techniques Requirements gathering Requirements analysis Specification document 6. ANALYSIS MODELING Use case modeling Data modeling Function modeling Behavior modeling Reviewing models Examples 7. SOFTWARE DESIGN: CONCEPTS AND MODELS Fundamentals of software design Design steps Design concepts Design models 8. PRINCIPLES OF OBJECT-ORIENTED DESIGN Good O-O design Architecture and dependencies Class design: principles Architectural design: principles 9. DESIGNING ARCHITECTURE, DATA, AND PROCESSES Data design. Logical data models Architecture design. Software components Mapping data flows into software architecture 10. COMPONENT DESIGN Software components Class design Process design Design notations 11. USER INTERFACE DESIGN Human-computer interaction Interface design rules User interface models User interface construction 12. SOFTWARE CONSTRUCTION Physical design. Programming specifications Coding Testing strategies Testing techniques 13. DEPLOYMENT Packing and installing User and maintenance procedures Software operation Software maintenance Human factors involved in the software development process The organization of the software development process Other planning activities The software project plan Seminar activities 1-2. Case study: requirements analysis (1) - general requirements communication techniques tehnici de comunicare.doc the requirements specification document: speccerinte.doc 3-4. Case study: requirements analysis (2) - conceptual data modeling 5. Case study: requirements analysis (3) - process modeling 6-8. Case study: Object-oriented requirements analysis 9. Case study: design (1) - logical data modeling 10. Case study: design (2) - process design 11-12. Case study: design (3) - OO design 13-14. Full case studies The course takes the form of PowerPoint presentations. The students are invited to read the course material in advance. The course and seminar materials are available on the Computer Science Department's server, in the folder ..\labor\romana\an3\aps |
References |
1. FLAATEN, PER O. - MCCUBBREY, DONALD J. - O'RIORDAN, P. DECLAN. - BURGESS, KEITH: Foundations of Business Systems, Dryden Press, 1st ed. 1989, 2nd ed. 1997.
2. FOWLER, MARTIN - SCOTT, KENDALL: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2nd ed., 1999. 3. IACOBSON, IVAR - BOOCH, GRADY - RUMBAUGH, JAMES: The Unified Software Development Process, Addison-Wesley, 1999. 4. MARTIN, ROBERT CECIL: Agile Software Development: Principles, Patterns, and Practices, Prentice Hall, 2002. 5. PÂRV, BAZIL: Analiza si proiectarea sistemelor, Univ. "Babeş-Bolyai", CFCID, Facultatea de Matematică şi Informatică, Cluj-Napoca, 2002, 2003, 2004. 6. PRESSMAN, ROGER S.: Software Engineering - A Practitioners Approach, McGraw-Hill, 3rd ed. 1992; 4th ed. 1996, 5th ed. 2001, 6th ed. 2005. 7. SCHACH, STEVEN R.: Object-Oriented and Classical Software Engineering, McGraw-Hill, 5th ed., 2002, 6th ed. 2005. 8. SOMMERVILLE, IAN: 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]. |
Assessment |
The grading policy is as follows:
2 quizzes (20%) written midterm exam (30%) written final exam (50%) The final mark is computed as weighted average of the individual marks (weights are given in brackets). Quiz questions refer to the teaching material and mandatory readings. Written exam topics include both questions and small modeling problems from analysis and design. |
Links: | Syllabus for all subjects Romanian version for this subject Rtf format for this subject |