A0L128Q Software System Analysis and Design

(2 Credits,32 Hours;Course Category: Major Course;Specialty:Software Engineering;Prerequisite: Object-Oriented Programming and Design, Database System, Data Structure)
The key issues in software development are those on how to identify the problems, how to understand them in order to clearly define the requirements of business, the scope and objectives of the project or system, and develop the technical solution to solve the problems to better support business. Unfortunately, there is a huge gap in mutual understanding between the business staffs and technical experts especially at present with the concept that technology should serve business and under the situation that both business and technology are becoming more and more complicated and complex. In this case, the essence and effective software engineers are required to cultivate the qualities involving the vision of deep insight of business and technology as well as the skills of communication and collaboration. They are supposed to possess the abilities of finding problems and making solutions based on the framework of information system in the structure of component organization and the process of abstraction instantiation.
This course belongs to the National Excellent Courses. It plays an important role in the education of software engineering majors. As one of the main required courses, it aims at cultivating talents with innovation consciousness and the abilities of developing and designing the software systems. It lays a solid foundation for the future careers like information consultant, software system analyst and software designer. It provides high quality education service to junior students focusing on the following aspects.
1. Education in expanding the vision. By exploring the contexts in which the information system locates, students will discuss the influences of software to society, economy, business, technology, as well as our daily life, thus build up the background on looking for problems and seeking for necessities.
2. Education in deepening the insight. By learning the concepts on software and its development framework, the students accumulate the basic knowledge to conceive and design the software system of high quality.
3. Education in engineering methodology and process. By cooperation and teamwork, the students realize the methods to develop effective software with anticipated outcome through abstraction, deduction, division and governing. They pick up the abilities to design by themselves and to select from different models and get the final solution with a trade-off among multiple candidates.
4. Training the implementation ability. By effective communication and collaboration, the students work together to organize and manage projects effectively in order to achieve their goals. In addition to this, they practice the ability to transfer the value of the software perfectly to the customers.