Engineering of Large Software Systems
Students will learn how to deal with issues impacting industrial software developments. A broad range of topics will be covered, emphasizing large project issues. Large software projects are those employing 50 or more software developers for three years or more. Throughout the course, emphasis will be placed on quantitative evaluation of alternatives. Specific examples and case histories from real projects in the telephone industry are provided. Students will learn how to create architectures for large systems based on the '4+1' model; how to use modern software connector technology; module decomposition; scaling of agile methods to large projects, the use of work flows to drive software process and database designs, test plans, and implementation; and configuration control and software manufacturing. The special issues of database conversion data consistency, database maintenance, and performance tuning will be addressed for large data bases. The physical environment of the computer systems, including multisite deployment, software releases, and special management report generation, are examined.