DRAFT [2016-2017][KR][en] at 2023-06-02 13:24:01 +0300
Logo-do [errata] Profile

Software Engineering Practices

About the course

Algorithm


Course consists of 3 chapters. The first chapter contains two units, the second one - five and thrird is divided into three units.

To check the quality of understanding the course material after each topic there are  questions for self-examination. 

After studying the theoretical material of the lecture to form practical skills, it is expedient to do a practical task and form the report about it. Also the course contains six task to discussion. In order to timely fulfill the tasks, it is recommended to follow the terms of the reporting according to the syllabus.

There are seven quizzes in the course to check your knowlege.

At the end of course there is final quiz, which is formed from the questions of the unit quizzes. To get access to the final quiz, you must pass at least 60% of tasks in each Unit.

Below you can see the list of questions to preparing for final quiz:

  1. Define the term software engineering.
  2. What are the major phases in a software development project?
  3. What is the difference between software development and software maintenance?
  4. Describe the waterfall model of software development.
  5. Describe the Rapid Application Development (RAD) approach to software development. 
  6. Discuss the main differences between software development life cycle models?
  7. What is a software product line?
  8. What are the main tasks of configuration management?
  9. Describe the role of the Configuration Control Board.
  10. Explain the difference between version-oriented and change-oriented configuration management.
  11. Discuss the main contents of a configuration management plan.
  12. Explain Mintzberg’s classification of organizational configurations.
  13. List the conditions for effective systems control.
  14. What is risk management?
  15. How can risks be mitigated?
  16. List types of requirements.
  17. What is requirements elicitation?
  18. What is the difference between an implicit and an explicit conceptual model?
  19. Describe the requirements elicitation technique called task analysis.
  20. Describe the requirements elicitation technique called use case analysis.
  21. In which circumstances is ethnography a viable requirements elicitation technique?
  22. Explain the following concepts from entity-relationship modeling: entity, entity type, attribute value, attribute, relationship.
  23. Define the following terms: object, state, attribute, message.
  24. Explain the difference between the specialization-generalization relation and the whole-part relation.
  25. Explain the difference between a class diagram and a state machine diagram.
  26. Explain the difference between a sequence diagram and a communication diagram.
  27. Explain the difference between a class diagram and a component diagram.
  28. What are CRC cards and use-case scenarios used for in object-oriented analysis?
  29. Give a definition of the term ‘software architecture’.
  30. What is the main purpose of a software architecture?
  31. What is the relation between design decisions and software architecture?
  32. What is functional decomposition?
  33. Give a global sketch of the Finite State Machine method.
  34. Give a global sketch of the Entity Relationship model.
  35. What is the main difference between problem-oriented and product-oriented design methods?
  36. Discuss the general flavor of RUP˘s Analysis and Design workflow.
  37. What are the differences between object-oriented design and the simple application of the information hiding principle?
  38. What are the properties of a design pattern?
  39. What is a test adequacy criterion?
  40. Describe the following categories of test technique: coverage-based testing, fault-based testing, and error-based testing.
  41. What is the difference between black-box testing and white-box testing?
  42. Define the following terms: error, fault, and failure.
  43. Define the following terms: corrective maintenance, adaptive maintenance, and preventive maintenance.
  44. Characterize the version-oriented analysis and history-centered analysis of software evolution data.
  45. Define maintenance life cycle stages.
  46. What is main activities of a single maintenance task?
  47. Describe three categories of software distinguished by Lehman.
  48. What characteristics indicate system degradation?
  49. What is reverse engineering?
  50. What is refactoring?
  51. Describe the phases of Ratianal Unified Process.
  52. Describe the maturity levels of the Capability Maturity Model.
  53. What is the difference between the staged and continuous versions of CMMI?
  54. Discuss the main differences between prototyping and scrum.
  55. Discuss the main differences between agile methods and RUP.
  56. Explain the XP practices ‘pair programming’ and ‘refactoring’.
  57. Discuss the key values of the agile movement.
  58. What models for software estimation do you know?
  59. What types of functional points are distinguished?
  60. Give a sketch of COCOMO.
  61. Give a sketch of Function Point Analysis (FPA).
  62. Give a sketch of COCOMO II.
  63. Why is it difficult to compare different cost estimation models?

© 2006—2023 Sumy State University