Software Engineering: Software Design and Project Management

所在平台: Coursera

课程主页: https://www.coursera.org/learn/software-engineering-software-design-and-project-management

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:软件工程:软件设计与项目管理 课程概述:软件开发生命周期(SDLC)是通过规划、需求分析、设计、实施、测试和维护来开发软件的过程。本课程专注于SDLC的项目规划和分析/设计阶段,您将学习如何解决软件设计中的常见问题,并了解不同的架构模式和设计模式。课程内容涵盖项目规划、排期和成本估算,这些是软件项目经理的主要任务。了解基本的面向对象编程(OOP)概念对于理解课程中涵盖的不同设计模式是必要的。系统设计由从需求分析中得出的UML模型驱动。虽然建议在尝试本课程之前先学习《软件工程:使用UML建模软件系统》课程,但这并不是强制要求。 课程大纲: 1. 系统分析与设计 - 学习系统分析和设计的目的和重要性,系统分析和设计中的主要活动,如何实现设计目标以及应对实施环境,什么是架构模式和设计模式及其使用场合。 2. 状态机图 - 学习如何使用状态机图描述对象内部的行为。 3. 设计模式 - 理解设计模式是软件设计中常见问题的通用可重用解决方案,学习策略模式和观察者模式。 4. 更多设计模式 - 学习中介者模式、代理模式、桥接模式、单例模式、工厂模式及其应用时机,以及反模式的概念。 5. 软件质量保证 - 理解质量保证过程及其核心活动,包括质量规划和质量控制,软件开发过程改善的原则以及其价值所在。 6. 管理软件开发 - 学习软件项目经理的主要任务,所有软件项目都需进行项目规划的必要性,项目人员配置和排程的要求,软件开发规模和成本估算的技巧,以及项目跟踪与控制。 通过本课程,您将掌握软件设计和项目管理的关键技能,为成功的软件开发奠定基础。

课程大纲

Name:System Analysis and Design

Description:Welcome to the first module of this course! In this module, you will learn: (1) The purpose and importance of system analysis and design. (2) The major activities that take place during system analysis and design. (3) How to realize design goals and deal with the implementation environment. (4) What are architectural patterns and design patterns and when to use them.

Name:State Machine Diagram

Description:In this module, you will learn: (1) How to use a state machine diagram to describe the behavior inside an object.

Name:Design Patterns

Description:In this module, you will learn: (1) A design pattern is a general reusable solution to a commonly occurring problem in software design. (2) Strategy Pattern. (3) Observer Pattern.

Name:More Design Patterns

Description:In this module, you will learn: (1) Mediator Pattern. (2) Proxy Pattern. (3) Bridge Pattern. (4) Singleton Pattern. (5) Factory Pattern. (6) When to use design patterns. (7) Anti Patterns.

Name:Software Quality Assurance

Description:In this module, you will learn: (1) The quality assurance process and the central process activities of quality assurance, quality planning and quality control. (2) The quality assurance process and the central process activities of quality assurance, quality planning and quality control. (3) The principles of software development process improvement and why process improvement is worthwhile.

Name:Managing Software Development

Description:In this module, you will learn: (1) The principal tasks of software project managers. (2) The need of project planning in all software projects. (3) Requirements for staffing and scheduling in software projects. (4) Techniques for estimating the size and cost of software development. (5) Project tracking and control.

课程评论(0条)

课程详情

Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the project planning and analysis/design phases of SDLC, and you will learn about different architectural patterns and design patterns to solve common problems in software design. It covers project planning, scheduling, and cost estimating, which are the principal tasks of software project managers. Basic object-oriented programming (OOP) concepts are required to understand different design patterns covered in this course. System design is driven by the UML models derived from requirement analysis. It is recommended to take the course "Software Engineering: Modeling Software Systems using UML" before attempting this course, but it is not a hard requirement.

课程标签

0人关注该课程

主题相关的课程