An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply techniques in analysis and design projects. Focus is on key object-oriented elements and concepts.


Object-Oriented Analysis and Design: Foundations & Concepts
本课程是 Object-Oriented Analysis & Design 专项课程 的一部分
包含在 中
您将学到什么
Apply industry-standard languages such as Java to object-oriented software designs.
Design object-oriented solutions with structural, behavioral, and composite graphical UML diagrams
Design test cases appropriate to object-oriented applications using JUnit.
您将获得的技能
要了解的详细信息

添加到您的领英档案
4 项作业
了解顶级公司的员工如何掌握热门技能

积累特定领域的专业知识
- 向行业专家学习新概念
- 获得对主题或工具的基础理解
- 通过实践项目培养工作相关技能
- 获得可共享的职业证书

该课程共有5个模块
An introduction to the benefits and challenges in applying Object-Oriented Analysis and Design (OOAD). The overall specialization and the instructor are introduced here. Then the challenges of developing software to support changing requirements are reviewed, and the Object-Oriented (OO) paradigm is presented as a possible approach to better analysis and design. Lectures examine how the OO approach differs from other programming paradigms and how it can provide helpful perspectives in conceptual, specification, and implementation design stages. Students should consider their background in Java and begin appropriate tutorial study at a level needed to allow use of the language in course projects (suggested resources are provided).
涵盖的内容
8个视频4篇阅读材料1个作业2个讨论话题
The module provides a review of core OO foundational concepts, including abstraction, encapsulation, modularity, polymorphism, delegation, inheritance, identity, and more. Key OO terminology for discussing aspects of class and object design are also presented. Finally, Java – our course programming language - is reviewed, not in a full development tutorial, but rather in examining the languages elements that support effective OO design and development. Resources are provided for supporting Java tutorial needs, and an example of Java development is provided as a first foray into OOAD development projects.
涵盖的内容
5个视频2篇阅读材料1个作业1次同伴评审2个非评分实验室
The Unified Modeling Language is a method for performing OOAD using graphical diagramming. The module focuses on UML as an effective tool for our design efforts – class diagrams can easily show major relationships and responsibilities of collaborating class networks; use case diagrams can help with analysis of critical user tasks needed for a successful system analysis; and the behavioral diagrams (sequence, state, and activity) can show details of messaging and command flow through applications. UML is regularly used in both academic and industry settings for designing and describing complex OO systems, and it will also be part of many OOAD course development projects.
涵盖的内容
5个视频1篇阅读材料1个作业1次同伴评审
Testing in any software system is a recognized challenge; in an object-based system where communicating elements hold their own state, data, and functionality it can be even more difficult to find effective test suites. The module looks at the core issues with software test, and at what approaches are typically used in industry for test at each stage and level of a software project. There is a special focus on messaging and serialization, two key elements of connectivity in OO systems that have their own challenges and approaches for thorough test and development. Finally, the module looks at a first-level view of JUnit, a unit testing framework used in industry with Java that will also be used (in a simple fashion) as a tool for grading and verifying course programming work.
涵盖的内容
5个视频1篇阅读材料1个作业1个编程作业1次同伴评审
The capstone project presented here lets the student confirm their understanding of the three main tools employed in OOAD projects – Java, JUnit, and UML. While the capstone is not an extreme challenge, it does provide a common checkpoint to ensure skills are in place for more challenging OO design and development in the two follow-on courses – and provides the student with an opportunity to review their readiness to continue in the specialization.
涵盖的内容
2个视频2篇阅读材料1个编程作业1次同伴评审
获得职业证书
将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。
攻读学位
课程 是 University of Colorado Boulder提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。
位教师

从 Software Development 浏览更多内容
- 状态:免费试用
University of Colorado Boulder
- 状态:免费试用
University of Colorado Boulder
- 状态:免费试用
University of Alberta
- 状态:免费试用
LearnQuest
人们为什么选择 Coursera 来帮助自己实现职业发展




常见问题
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
更多问题
提供助学金,