Software Systems Development
Basic Information
- Offered by: Institute of Informatics and Software Engineering
- Type of Study: Undegraduate in Informatics
- Specialization track: Software Engineering
- Duration: 12 weeks
- Semester: Spring
- Hours per week (lectures - labs): 2 - 1
- Credits: 3
- Reader: Mária Bieliková
- Prerequisites:
- programming in arbitrary programming language;
experiences with a big software system development would be helpful
|
to Homepage |
|
to Teaching |
|
to the Top |
Objective
The field of software engineering deals with problems that arise when programs are large, when they involve many programmers and when they exist over long period of time. The purpose of this course is to introduce the student basic principles of software engineering. Emphasis is on structured analysis and design methods. Practical work is centered around these methods. CASE tool is used. This course has been designed so that, upon its completion, the serious student will have received the initial level of preparation necessary to be a successful and effective software engineer.
Keywords: software system, module, software development life cycle, stage of software development, CASE (Computer Aided Software Engineering).
|
to Homepage |
|
to Teaching |
|
to the Top |
Contents
- Background:
- a brief history of software engineering; software system and software engineering definition; properties of software systems; problems with software development
- software system life cycle:
- description of stages (inputs, outputs)
- Technics for software analysis and design:
- use case diagrams, data flow diagrams, entity relationship diagrams, algorithm description techniques (structured text, decision tables, decision trees), entity life histories, state-transition diagrams, interactions diagrams
- The qualities of a good design:
- coupling, cohesion, design guidelines
- Approaches to analysis and design:
- Data-oriented approach; structured approach; object-oriented approach (Booch method)
- Models of software development:
- (just a brief introduction) waterfall model, rapid prototyping model, evolution model, exploratory model, transformation model, reuse model
|
to Homepage |
|
to Teaching |
|
to the Top |
Laboratory Excercises
Labs are organized in three major segments:
- Business model
- Functional model (sets of use case diagrams) for the given information system requirements is developed
- Data model of the same problem is developed
Steps 1-3. are completed by means of the CASE tool. By now CASE tool Rational Rose is used.
Results are presented to all class members (form of poster).
Documentation is required in the following form:
- Problem specification
- Used techniques description
- Rules for entities identification
- Requirements specification
- More detailed requirements description
- Functional model
- Data model
- User interface requirements
- Conclusions
|
to Homepage |
|
to Teaching |
|
to the Top |
Readings
- Sommerville, I.
- Software Engineering. Addison-Wesley Publ. Company, 6th Edition, 2001.
- Ghezzi, C., Jazayeri, M., Mandrioli, D.
- Fundamentals of Software Engineering. Prentice Hall, 2th Edition, 2003.
- Steinberg, D.H., Palmer, D.W.
- Extreme Software Engineering: A Hands-On Approach. Prentice Hall. 2004.
- Brooks, F.P.
- The Mythical Man-Month. Anniversary Edition.Addison-Wesley. 1995.
- Jalote, P.
- An Integrated approach to Software engineering. Springer Verlag. 1997.
- Yourdon, E.
- Modern Structured Analysis. Prentice-Hall. 1989.
- Pressman, R.S.
- Software Engineering: A Practicioner's approach. 5th Edition. McGraw Hill. 2000.
- Pfleeger, S.L.
- Software Engineering: Theory and Practice. Prentice Hall. 1998.
- Van Vliet, H.
- Software Engineering: Principles and Practice. John Wiley. 2nd Edition. 2000.
|
to Homepage |
|
to Teaching |
|
to the Top |
Conditions to obtain a grade
- "pass" mark for labs which requires:
- active participation in labs
- elaboration of projects documentation with defined structure (the last date is lab in last week of the semester)
functional and data model in a CASE tool
prototype with proper functionality demonstration
- at least 56% of marks
- Assignments for labs will constitute 40% of the final grade.
- Midterm test will constitute 60% of the final grade.
|
to Homepage |
|
to Teaching |
|
to the Top |
|
|
|
|