Monday

Sans Titre

Main Links

Sans Titre

Quick Links


you are in: HOME :: CURRICULUM :: SE BEST PRACTICES : :

Software Engineering Best Practices

This course is an introduction to software engineering as practiced in industry, with emphasis on understanding the nature of software engineering, the software engineering process, and the problems and solutions manifest in real software development and modification projects. Different models of the software engineering process are compared and contrasted. Current best practices in software engineering and various approaches to software process improvement are presented.

Intended Audience

This course is intended for software developers and software engineering managers who have not received formal instruction in software engineering principles and best practices.

Prerequisites

The chief prerequisite for the course is hands-on work experience in software development, in particular, software design, programming, and testing.

Course Content
  • You will study several software development models and processes applicable to large and small projects.
  • Starting with the foundation concepts of the waterfall model, you will be introduced to evolutionary, iterative, incremental, evolutionary, prototyping and rapid development models.
  • Agile, adaptive and "extreme" development approaches will also be explored.
  • This course will cover the actual benefits of these models and processes as well as the problems that can arise.
  • You will also study software process improvement and software tailoring and adaptation strategies practiced in industry.

Upon completion of this course, each student should be able to:

  • Describe the nature of software engineering and problems typically encountered by software engineering organizations.
  • Discuss the various types of work activities that occur and the types of work products that are generated in each phase of the software lifecycle.
  • Explain the problems typically encountered in each type of software engineering activity and discuss current best practices for overcoming those problems.
  • Compare, contrast, select and adapt various software engineering process models, and explain the strengths and weaknesses of each one.
  • Understand and apply software development standards and processes including those for requirements, design, construction, testing, project management and quality assurance.
  • Understand software process improvement models and the importance to the profession of applying and improving one’s software engineering competencies.
Textbooks
  • Software Engineering (7th Ed), Ian Sommerville, Addison-Wesley Pub Co; ISBN: 0-321-21026-3
  • The Mythical Man-Month (2nd Ed), Fred Brooks, Addison Wesley, ISBN 0-201-83595-9


Sans Titre

Related Links


Design & Concept by Djordjo Vasic