- CSE 5324 - Software Engineering: Analysis, Design, and Testing (Spring 2015)
- Section 001
- Class Number 21958
- Time: Monday and Wednesday, 5:30 pm - 6:50 pm
- Location: ERB 103 (in the Engineering Research Building)
- Christoph Csallner
- Office: ERB 554 (in the Engineering Research Building)
- Office hours: Monday and Wednesday, 2:45 pm - 3:45 pm
- Office phone: 817-272-3334
- Email: email@example.com
- Mainul Islam
- Office: ERB 509 (in the Engineering Research Building)
- Office hours: Tuesday and Thursday, 2.00 pm - 3.00 pm
- Email: firstname.lastname@example.org
Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project.
- Every aspect of your software project has to be fully family friendly. This means, no violence, etc. When in doubt, make it more family friendly or ask the instructor.
- Your software should run on the Google Android platform. This means, with your instructions, I should be able to run your code on the standard Android emulator I have installed on my machine. Similarly, with your instructions, your test cases should run on my standard JUnit installation, etc.
- Your software should be new and exciting.
- New means that your software has to have some aspect that is completely novel. It is not enough to just copy and paste an example project from somewhere else. This does not mean you cannot re-use any existing code. Most real-world software engineering builds on some existing code. But it is important that you clearly document which parts are yours and which parts you re-use from another source.
- Exciting means that your software should have some aspect that is exciting. Examples include that you write a game that is fun to play or you write some utility that is appealing in some form.
- In the ideal case, the exciting aspect of your software is also new. In this case, you may become rich and famous :)
- All deadlines are Monday 9 am.
- (CL X) = X in Craig Larman textbook.
|Day||Tentative Class Topic||Deadline|
|1/26||Motivation, introduction UML in practice, Iterative process (CL Part 1, How to be a program manager), Inception (CL Part 2)||Form teams|
|2/02||Presentation, feedback||Incept project|
|2/09||Presentation, feedback||Revise inception|
|2/11||Walkthrough and review (BillG, Simonyi)|
|2/16||Basics, requirements||Review inception|
|2/18||Quiz, more requirements|
|2/23||Use-Cases (CL Chapter 6)|
|2/25||Domain models (CL Chapters 9, 31)|
|3/02||Presentation, feedback||Iteration 1|
|3/04||More requirements (CL Chapters 10, 11, 32)|
|3/16||Architecture (CL Chapters 13, 33)||Review iteration 1|
|3/23||Dynamic design models (CL Chapters 14, 15)||Homework 1|
|3/25||Static design models (CL Chapters 16, 19)|
|3/30||Presentation, feedback – Code walkthrough||Iteration 2|
|4/01||Design: Grasp principles (CL Chapters 17, 18, 25)|
|4/06||Design by Contract (Meyer92Applying)||Review iteration 2|
|4/08||Quiz, more Design by Contract|
|4/13||Overloading and overriding||Homework 2|
|4/20||Presentation, feedback – Code walkthrough||Iteration 3|
|4/22||Presentation, feedback – Code walkthrough|
|4/27||Testing and debugging||Review iteration 3|
|4/29||Quiz, more testing, Student Feedback Day|
|5/04||Final presentation||Final deliverables|
- Grady Booch, James Rumbaugh, and Ivar Jacobson: The Unified Modeling Language User Guide. 2nd edition. Addison-Wesley, 2005. Available on the UTA network at http://proquestcombo.safaribooksonline.com.ezproxy.uta.edu/0321267974
- Craig Larman: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3rd edition. Prentice Hall, 2004. Available on the UTA network at http://proquestcombo.safaribooksonline.com.ezproxy.uta.edu/0131489062
- Modelio open source UML modeling tool
- Frequently asked questions
- What is Android?
- Hello, World
- Google API
- Android virtual machine (Dalvik): Bytecode
- Frequently asked questions