CENG 431
Building Software Systems
Object oriented analysis and design. UML usage. Advanced topics of object oriented programming. Software reuse, refactoring, unit testing. Fundamental design patterns. Software components, libraries and framework usage and ve creation.
Course Objectives
1. To provide students with the ability of object oriented analysis and design.
2. To provide students with the ability of object oriented design programming.
3. To teach reuse, refactoring, unit testing subjects.
4. To teach fundamental design patterns at intermediate level.
5. To provide students with the fundamentals of software components and software frameworks.
Recommended or Required Reading
X. Jia, Object-Oriented Software Development Using Java. , Addison Wesley. 2nd Edition, 2003. ,C. Larman, Applying UML and Patterns , Prentice Hall, 3rd Edition, 2004. ,M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, Refactoring: Improving the Design of Existing Code , Addison-Wesley, 1999.
Learning Outcomes
Upon the completion of this course a student :
1. Know interleaved activities between specification, design, coding and testing
2. Use Object Oriented architecture components
3. Know and compare different software system development approaches
4. Analyze problems, design and implement solutions
5. Demonstrate the ability to abstract in software systems context
6. Apply software engineering methods to real world problems
| Topics |
| Object oriented software development 1 |
| Object oriented software development 2 |
| Object oriented analysis and design with UML 1 |
| Object oriented analysis and design with UML 2 |
| Software development with components |
| Design approach with abstraction |
| Object oriented application frameworks |
| Reuse |
| Refactoring |
| Unit testing |
| A case study from design to software |
| Design patterns 1 |
| Design patterns 2 |
| Design patterns 3 |
Grading
Midterm 30%
Final 40%
Homework 30%
Instructor(s)
- CENG 400
- CENG 411
- CENG 415
- CENG 416
- CENG 418
- CENG 421
- CENG 422
- CENG 424
- CENG 432
- CENG 433
- CENG 434
- CENG 435
- CENG 436
- CENG 437
- CENG 441
- CENG 442
- CENG 443
- CENG 444
- CENG 451
- CENG 452
- CENG 461
- CENG 462
- CENG 463
- CENG 464
- CENG 465
- CENG 467
- CENG 471
- CENG 472
- CENG 473
- CENG 481
- CENG 482
- CENG 483
- CENG 484
- CENG 485
- CENG 486
- CENG 487
- CENG 488
- CENG 491
- CENG 499

