Download presentation
Presentation is loading. Please wait.
Published byHomer Gray Modified over 9 years ago
1
Informatics 43 – May 21, 2015
2
A quote from Piazza “This course is trying to teach you how to be a PM (product manager).”
3
Software Engineering “The multi-person creation of multi-version programs.” What does this mean in practice for co-ordination? How do we keep multiple developers for interfering with each other?
4
Software Engineering “The multi-person creation of multi-version programs.” What does this mean in practice for co-ordination? How do we keep multiple developers for interfering with each other? Version control software! (aka Revision control and source control)
5
Version Control Challenges Software is typically stored in multiple files. A change (bug fix, new feature) often requires changes to several of these files. Multiple people are working on the software at the same time. It is easy for people to “step on each others’ feet” Two or more people editing a file simultaneously. Updates need to be synchronized. People may wait for others to “release” files.
6
Version Control Solutions Use software to manage a project’s source files. git is a popular option and the basis of homework 3
7
Software Architecture is... "The set of principal design decisions about a system." -ISR @ UCI (in their opinion)
8
What do you need to know before you architect some software?
9
Facebook What features does Facebook have?
10
What is a client-server architecture? What happens on the server side? What happens on the client side?
11
3-tier architecture
13
Does Facebook only have one server?
15
Facebook has over 1 billion users!
16
Facebook has LOTS and LOTS of servers. >180,000 servers across multiple data centers.
18
Non-Functional Requirements Performance: Scalability: Availability: Security: Privacy: Reliability: Portability: It's fast. Uptime. It's not privacy. It's fast even with lots of users. It's not security. Don't delete my data by accident. Works on different platforms (operating systems, web browsers, phones, etc.)
19
What do software architects do? Figures out non-functional requirements Figures out what the components should be and how they communicate. Instruct programmers Design tests Code (yes, software architects code)
20
But wait, there’s more Pipes-and-filters
21
But wait, there’s more Event driven
22
But wait, there’s more Database-centric
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.