课程介绍
Overview
1. This course is an undergraduate-level introduction to software requirements analysis,design and modeling.
2. The course is a tool to help developers and students learn core skills in use-case based requirements analysis,
object-oriented analysis and design (OOA/D).
3. This course helps a student or developer:
1) Master use-case based requirements analysis.
2) Apply principles and patterns to create better object designs.
3) Iteratively follow a set of common activities in analysis and design, based on an agile approach to the UP as an example.
4) Create frequently used diagrams in the UML notation.
5) It illustrates this in the context of long-running case studies that evolve over several iterations, such as initialization, elaboration 1-3.
Intended Audience
1. Practitioners who want a basic explanation of OOA/D concepts, as well as hands-on practical experience in applying the techniques.
2. Analysts, designers, software developers.
Prerequisites
1. Object technology experience.
2. Software development experience.
3. Implementation language experience.
Others
1. Language: English and Chinese.
2. The Nature of the course:Major & Compulsory.
3. Course Hours: 32+16(Lab).
4. Credit:3.5.
课程大纲
学习目标
Upon completion of the course, participants will be able to:
1. Apply an iterative, use case-driven, architecture-centric process to the development of a robust design model.
2. Use the Unified Modeling Language (UML) to represent the design model.
3. Apply Object-Oriented (OO) concepts: abstraction, encapsulation, inheritance,hierarchy, modularity, and polymorphism
to the development of a robust design model.
4. Describe the different views of software architecture, key mechanisms that are defined in support of that architecture,
and the effect of the architecture on the produced design.
5. Define basic design considerations, including the use of GoF design patterns and GRASP design principle.
学习要求
1. Project,reading and homework assignments will be handed out or announced in MOOC online class. You should spend at least 8 class hours per week outside of class on project, reading
and homework.
2. Please make sure that you can take and pass the final examination.
3. Please make sure your attendances at the class, experiment and project should be higher than 80%.
4. Take part in a team with 3-5 persons and work with your team member to make sure that the agile unified processs artiffects of the project can pass the acceptance.
6. You are expected to conduct yourself in a professional and courteous maner,as prscribed by the SCUT standards of conduct.Graded work, such as homework and tests,is to completed independently and should be unmistakably your own work, although you may discuss your project with other students in a general way. You may not represent as your own work material that is transcirbed or copied from other person,book,or any other source,e..,a Web page. Academic dishonesty and any other violation of the SCUT standards of conduct will be recorded.
考核标准
Your semsester grade will be based on final written exam, a combination of class presentataions and pariticipation in onlne and offline classroom and lab, reviews of software engineering projects and 4 experiments.
The approximate percentages are as follows:
1. 60% Final written exam.
2. 20% class presentataions and pariticipation:This part of the grade may be based in part on how well the class demonstrates comprehension of covered material in the MOOC online classroom and offline flipped classroom.
3. 20% Review of software engineering projects and experiments.
教材教参
Required Textbook
1. Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and Design and iterative development”,Third Edition, Addison-Wesley, 2005.
Reference Books
1. Philippe Kruchten,“The Rational Unified Process - An Introduction”,Third Edition,Addison-Wesley, 2003.
2. Martin Fowler,“UML.Distilled.A.Brief.Guide.3rd.Edition”, Third Edition,Addison-Wesley, 2003.
3. James Rumbaugh, Ivar Jacobson, Grady Booch,“ The UML.Reference Manual”, 2nd.Edition, Addison-Wesley, 2005 .
4. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design patterns: Elements of Reusable object-oriented software”, Addison-Wesley, 1995.
5. Object-Oriented Analysis and Design with Applications
Reference Books (in Chinese)
1. 邵维忠、杨芙清,面向对象的分析与设计,清华大学出版社,2013.