Software Engineering Teaching Facility

Page word cloud

Bug tracking

Bugzilla

Continuous testing, continuous integration and continuous delivery

Jenkins

Git service

Gitea - Git a cup of tea

Assignment submission

The Lab Report Repository (LRR) developed by graduate student Mohamed Nor.

Incubator projects

LRR - Lab Report Repository - a case study on development, maintenance, bug reporting, bug fixes and continuous improvement

Cloud Software Engineering

Ping Ren

Software Engineering Online Course

OAPS - open access publishing service (Python implementation, JSP/Servlet implementation)

EnglishPal - learning English in a smart way

WordFriend - word frequency and word familarity

AITA - artificial intelligence teaching assistant

PhotoStream - simple personal photo albums

SmartDoc - a documentation tool for linking code with requirements

Category-specific scatterplot - for correlation analysis

OMG (Oh My Genes) - for identifying differentially expressed genes given two samples

Online Code Contest

Signature as password

Course objective satisfaction, analyze.py, README

Important Literature on Software Engineering

Note: the number of asterisks indicates our strength of recommendation.

    Journal articles
  1. ***** D L Parnas and P C Clements. 1986. A rational design process: How and why to fake it. IEEE Trans. Softw. Eng. 12, 2 (February 1986), 251-257. A Chinese version is available as TXT and as HTML.
  2. **** Brooks, Frederick P., "No Silver Bullet: Essence and Accidents of Software Engineering," IEEE Computer, Vol. 20, No. 4 (April 1987) pp. 10-19.
  3. ***** Yamaura, Tsuneo. "How to Design Practical Test Cases." IEEE Software (November/December 1998): 30-36.
  4. **** Les Hatton. Does OO Sync with How We Think? IEEE Software (May/June 1998): 46-54.
  5. ***** Johanna Rothman. 1998. Of Crazy Numbers and Release Criteria.
  6. ***** Dr. Ralph R. Young. Recommended Requirements Gathering Practices. CrossTalk The Journal of Defense Software Engineering (April 2002). Vol. 5. No. 4. [PDF pages 9-12]
  7. ***** Leishman and Cook. "Requirements Risks Can Drown Software Projects." Computer (November 2001). [PDF pages 4-7]
  8. ***** Lawrence, Brian, Karl Wiegers, and Christof Ebert. The Top Risks of Requirements Engineering. IEEE Software (November/December 2001): 62-63.
  9. **** Johanna Rothman. 2002. Release Criteria: Is This Software Done?
  10. ***** Li, Paul Luo, Andrew J. Ko, and Jiamin Zhu. 2015. “What Makes a Great Software Engineer.” In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, 1:700–710.
  11. **** Fucci, D., Erdogmus, H., Turhan, B., Oivo, M., & Juristo, N. (2017). A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last? IEEE Transactions on Software Engineering, 43(7), 597-614. [7592412]. https://doi.org/10.1109/TSE.2016.2616877
  12. Blog posts
  13. **** Max Kanat-Alexander. (2020). The Definition of Simplicity.
  14. ***** Martin Fowler. Is High Quality Software Worth the Cost?
  15. **** Agile Requirements Modeling
  16. ***** Scott W. Ambler. Class Responsibility Collaborator (CRC) Models: An Agile Introduction.
  17. Books
  18. **** Craig Larman. 2004. A book chapter on iterative, evolutionary and agile development.
  19. ***** Karl Fogel. Producing Open Source Software: How to Run a Successful Free Software Project. Second Edition.
  20. ***** Winters, T. D., Manshreck, T, & Wright, H. (2020). Software Engineering at Google: Lessons Learned from Programming Over Time. O'Reilly Media.

Contact

For more information about the facility, please contact Lanhui for help. Last modified on 15 June 2022.