In today's information society, the software development costs rise whilst the cost of hardware decreases. The software development period is increased and maintenance costs of software grow. Software errors have increased whilst the hardware errors have been minimized. In order to solve the above problems, we should follow structured software development methods.
Software Technology or otherwise "Software Engineering" incorporates the whole range of tasks that must be completed for proper software implementation. This work is summarized in Analysis, Design, Implementation, Validation & Verification, Project Management and Software Development & Maintenance.
The course Principles of Software Engineering is intended address issues related to the stages of Software Engineering; Analysis, Design and Validation & Verification at an introductory level. Specifically, it aims to familiarize the student with basic concepts, tools, diagrams, models, methods and analysis methodologies, design and maintaining software and thus convey the basic skills of Software Engineering.
After completing the course the student will have acquired the necessary knowledge and skills to:
- Be familiar with basic concepts of analysis, design and maintaining software systems.
- Be able to analyze, plan and maintain simple software systems.
- Be aware of the value of quality and how it is ensured in software systems.
- Be able to use at least one CASE tool and UML.Be aware of the value of the methodologies and be able to use in practice at an elementary level the Unified Software Development Process (USDP).
- Systems Engineering
- Software Processes
- Software Requirements
- Requirements Engineering Processes
- System Models
- Software Prototyping
- Formal Specification
- Architectural Design
- Architecture of Distributed Systems
- Design of Object-Oriented Software
- Real-time Software Designing
- Design Software with Reuse
- Validation and Verification
- Software Testing
- Ian Sommerville: Software Engineering (8th edition), Addison-Wesley, 2006
- Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process, Addison-Wesley, 1999
- Ivar Jacobson, Magnus Christerson, Patrik Jonsson, Gunnar Oevergaard: Object-Oriented Software Engineering (A use case Driven Approach), Addison-Wesley, 1995
- Rational Rose Home Page: http://www.rational.com/products/rose/index.jtmpl
- The Carnegie Mellon Software Engineering Home: http://www.sei.cmu.edu/sei-home.html