软件开发生命周期

Software Development Lifecycle

Launch Your Career in Software Development. Master techniques and best practices for traditional and agile software project management.

专项课程计算机
5900 次查看
明尼苏达大学
Coursera
  • 完成时间大约为 3 个月
  • 中级
  • 英语, 葡萄牙语
注:本课程由Coursera和Linkshare共同提供,因开课平台的各种因素变化,以上开课日期仅供参考

你将学到什么

Critically analyze software engineering development processes from our four selected development philosophies (traditional, secure, agile, and lean)

Describe the trade-offs among the philosophies with respect to environmental, organizational, and product constraints

Discuss the workings of exemplary processes within each of the given philosophies

Perform activities within each of the four aforementioned philosophies and explain how they satisfy the principles of the given philosophy

课程概况

This Specialization is designed for people who are new to software engineering. It’s also for those who have already developed software, but wish to gain a deeper understanding of the underlying context and theory of software development practices.

At the end of this Specialization, we expect learners to be able to:

1.) Build high-quality and secure software using SDLC methodologies such as agile, lean, and traditional/waterfall.

2.) Analyze a software development team’s SDLC methodology and make recommendations for improvements.

3.) Compare and contrast software development methodologies with respect to environmental, organizational, and product constraints.

包含课程

课程1
Software Development Processes and Methodologies

Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life.In this course, you will get an overview of how software teams work? What processes they use? What are some of the industry standard methodologies? What are pros and cons of each? You will learn enough to have meaningful conversation around software development processes.

After completing this course, a learner will be able to
1) Apply core software engineering practices at conceptual level for a given problem.
2) Compare and contrast traditional, agile, and lean development methodologies at high level. These include Waterfall, Rational Unified Process, V model, Incremental, Spiral models and overview of agile mindset
3) Propose a methodology best suited for a given situation

课程2
敏捷软件开发

Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth. Prerequisite: You need basic knowledge of software development process and software development methodologies.

After completing this course, you will be able to :
1) Demonstrate the ability to participate effectively in agile practices/process for software development.
2) Explain the purpose behind common agile practices.
3) Ability to apply agile principles and values to a given situation.
4) Ability to identify and address most common problems encountered in adopting Agile methods.

Project: You will also be given opportunity to apply what you learn in this course. You will be given fictional case studies, where after studying the case study, you will have to exercise some of the practices, techniques, etc that team members of an agile team members are expected to know.

课程3
Lean Software Development

While scrum and XP were transforming the software development industry, there were another set of ideas (derived from lean manufacturing and Six Sigma) that started to influence software development methods. These ideas around Lean Software Development forms the foundation of number of agile methods. In this course, we will explore lean concepts and cover some of the common Lean methods and techniques like Kanban, Value Stream Mapping, etc.

In this course, we will also learn techniques like Lean Startup and Design Thinking that can help team learn about user and market needs much faster and cheaper.

As part of this course, you will also apply the knowledge gained in this course to fictional case studies. These projects will help you gain experience to confidently apply these techniques in real world.

At the end of the course, you will be able to apply lean techniques / methods to software development. You will also be able to apply methods to learn about your users and market needs much faster and cheaper.

课程4
Engineering Practices for Building Quality SoftwareAgile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.

This is an intermediate course, intended for learners with a background in software development. To succeed in the course, you should have experience developing in modern programming languages (e.g., Java, C#, Python, JavaScript), an understanding of software development lifecycle models, and and a desire to better understand quality aspects of software development beyond program correctness.

At the end of this course, you will be able to comfortably and effectively participate in various techniques and processes for building secure and high quality software.

课程项目

To cement the theoretical concept into solid learning, learners will be given multiple fictional case studies where learners will be asked to make decisions like what methodology will you choose, what practices/processes will you use and why? These projects will help learners apply the concepts into practice.

In agile course, learners will be asked to create a story map for a given situation, and make a case for agile methodology.

In lean course, learners will be asked to create a value stream map and use design thinking to a ficticious case study

All of the projects will be peer reviewed.

千万首歌曲。全无广告干扰。
此外,您还能在所有设备上欣赏您的整个音乐资料库。免费畅听 3 个月,之后每月只需 ¥10.00。
Apple 广告
声明:MOOC中国十分重视知识产权问题,我们发布之课程均源自下列机构,版权均归其所有,本站仅作报道收录并尊重其著作权益。感谢他们对MOOC事业做出的贡献!
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc
  • (部分课程由Coursera、Udemy、Linkshare共同提供)

© 2008-2020 MOOC.CN 慕课改变你,你改变世界