Homework #1

Chapters 1 - 3: Upload a document with these questions and answers to moodle.

  1. Suggest two ways in which a software process model might be helpful in identifying possible process or design improvements.
  2. Apart from the challenges of heterogeneity (has to work on more than one platform), rapid delivery and trust, identify other problems and challenges that software engineering is likely to face in the 21st century.
  3. For two of the clauses in the ACM/IEEE Code of Ethics, suggest an appropriate example that illustrates that clause.
  4. Research one of the software engineering horror stories found on http://www.cse.lehigh.edu/~gtan/bug/softwarebug.html and imagine you are a member of the development team. There would probably be many things you would want to change about the project. Specify (at least) one of the things that you would do differently, and relate it to (at least) one of the things that went wrong. (You can find some material on the links page for this course.)
  5. Explain why incremental development may be an effective approach for developing business software systems. Give an example of a system for which incremental development would be less appropriate. (This article will help you construct an answer: http://nealcabage.com/waterfall-or-iterative-methodology/ )
  6. Why is it important to develop both user requirement and system requirement documents instead of mixing them togethert?
  7. How is the Agile (Iterative) software process model different from the Waterfall software process model?
  8. An Agile Sprint is a set period of time during which a small portion of work will be designed, coded and made ready for user review. http://www.cio.com/article/2380827/developer/developer-6-software-development-lessons-from-healthcare-gov-s-failed-launch.html mentions "Many teams use "sprint" or "iteration," only to insert waterfall concepts. Language such as "three architecture sprints, six coding sprints, two test sprints and two hardening sprints" is usually a clue that something's wrong." Explain why this language indicates that Agile is not being used.

GIT Portion

  1. Follow these instructions to change one central git repository