Overview of Software Systems
Since this is a systems analysis and design course, I think it's worth our time to take a very quick step back and define exactly what a software system is.
Guide Tasks
  • Read Tutorial
  • Watch Guide Video
Video locked
This video is viewable to users with a Bottega Bootcamp license

I personally like to break it into two different categories. The first category is the high-level system. This is when you're building some type of application, like Twitter or Facebook, or any type of web application. It could also be a mobile application. Anytime that you have an application that users interact with, that is a high-level system.

Low-level systems are the types of software that an end-user usually will not interact with. That might be a code library or a Ruby gem. Just because users aren't pressing buttons and typing information doesn't mean it's not a system.

When it comes to understanding and creating a proper analysis and then building a design for these systems, it helps to have a very holistic view of what they represent. That might mean that you think of a system as creating the full set of interaction points for your mobile app, but it might just be configuring the code library to receive and send certain types of messages.

We're going to build all kinds of different projects in this course. From very front-end user-centric systems to package and sequence diagrams. Both are incredibly important to build out, so this course will help form an A-to-Z kind of mindset when it comes to system design.