Introduction:
What is software engineering?
Why do we need it?
Importance of Software Engineering
Evidence of the Software Crisis
You can access the proceedings of the NATO Software Engineering Conferences, and other related information, here.
Software Development
Software Process
RUP => rational unified process
USP => unified software process
writing code is not the only activity that you have to perform
Software Phases
Tools of the Trade
To take a look at both the IEEE versions and light-weight versions of these documents, visit this link.
Important note: You will be linked to the documents page again when it is time to start working on the first project. Please wait to download the documents until then, as we might slightly modify them when we start the first project.
/*
Documents
The projects for this course may require some form of the following 5 documents. Important: please refer to T-Square for details about which exact documents to submit and possibly updated version of the templates.
- Process Plan
- Requirements Document
- Design Document
- Test Plan
- Process Assessment Document
For each document, we will provide the template we would like you to use, as well as the more formal and complete IEEE version of the document (for all but the assessment document). You are only required to fill out the sections listed in the template we give you, but it may be useful to look at the more detailed one for more insight into what the various sections are for, and you are welcome to add additional sections if you wish.
Process Plan
- Our Template
- IEEE-based document
Requirements Document
- Our Template
- IEEE-based document
Design Document
- Our Template
- IEEE-based document
Test Plan
- Our Template
- IEEE-based document
*/
For additional information, check out Classic Mistakes Enumerated, by Steve McConnell.
https://www.wikiwand.com/en/Unified_Modeling_Language
https://yuml.me/
https://www.visual-paradigm.com/
linux kernel => standarized linux kernel with some Google's customizations => interatc with hardware
activity is a class
an independent activity can be used by another application
service is an application component that performs a long running operation in the background, and not interacts with users (no UI)
eg. music background playing/ download service
database: SQLite
event driven
allow binding of apps at runtime
information: permission, entry activity, version, lowest android sdk
alpha testing => performed by distributing a software system ready to be released to a set of colleagues inside the organization
beta testing => a selected subset of users outside the organization