This course book deals with the phases of software development process, such as software requirements, analysis and design that are discussed in the frame of the Rational Unified Process (RUP) software development process in several chapters. RUP is based on the Unified Modelling Language (UML) as an object-oriented graphical modelling language, so theoretical knowledge and practical examples presented in this student book reflect the object-oriented design and development principles.

In chapters 1-4. the basic concepts of software development and the conventional and agile software development methodologies are presented.

Chapter 5. and 6. discuss the basic of object-oriented design and UML graphical modelling language. Chapter 7. and 8. describe in detail the requirements, analysis and design software development phases. These chapters are well illustrated with examples using the notations of UML graphical modelling language. In chapter 10. related to development issues of embedded systems the characteristics of the critical systems, development of critical systems, and development of real-time systems are discussed. The topics of the last three chapters are related to software projects management including project management, software quality management and software cost estimation.

Although this student book is about basic knowledge of software development process, the programming is not subject of any chapters, so the processing of chapters do not require any prior programming experience. Processing of chapters related to software development process requires object-oriented design approach, but it is helped by knowledge provided in chapter 5. and 6.