software engineering principles comp 410 exam questions and answers 2024
What is software engineering? a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the client's needs. The software must be easy to modify when the user's needs change What is classical software engineering life cycle model? 1. requirements 2. analysis/specification 3. design phase 4. implementation phase 5. post-delievery phase 6. retirement what is modern view of maintenance software undergoes modifications to code and associated documentation due to a problem or the need for improvement or adaption, irrespective of whether this takes place before or after installation of the product Why is there no planning phase, testing phase, and documentation phase during software development? There is no separate planning phase. Instead, planning activities are carried out all through the life cycle. However, there are times when planning activities predominate. These include the beginning of the project (preliminary planning) and directly after the specification document has been signed off on by the client (software project management plan). 1. What are the advantages of the object-oriented paradigm? > Objects can easily be reused in other programs, reducing time and cost of production and maintenance > Once an Object is created, knowledge of its implementation is not necessary for its use > Objects hide certain parts of themselves from programmers. This prevents programmers from tampering with values they shouldn't > Development is made easier since objects in a product closely correspond to counterparts in the real world, leading to better quality software > Separation of code makes maintenance quicker and easier, since only the code directly associated with the new feature is altered. This also reduces regression fault What are major differences between structured and object-oriented paradigm? The key difference between Structured Programming and OOP is that the focus of Structured Programming is to structure the program in to a hierarchy of subprograms while, the focus of OOP is to break down the programming task in to objects, which encapsulate data and methods. In structured paradigm, there is a sharp transition between the analysis phase and the design phase (what the product is to do vs how to do it) In OOP, objects enter the life cycle from the very beginning. Thus, it is an integrated approach and the transition from workflow to workflow is smoother than with the classical paradigm, reducing the number of faults introduced during development. What is the requirements phase? concept is explored and refined, and the client's requirements are elicited What is analysis/specification phase? client's requirements are analyzed and presented in specification document software project management plan describes software development in full detail Design phase? Architectural design: product I broken down into modules Detailed design: each module is designed Implementation phase? Unit testing: components undergo coding and testing Integration: components of the product are combined and tested as a whole Acceptance testing: by client when developers are satisfied that the product functions correctly Product is then accepted by the client and installed on their computer Post delivery phase? Product is used to perform the tasks for which it was developed Four Types of Maintenance 1. Perfective Maintenance: changes that the client thinks will improve the effectiveness of the product (i.e. additional functionality, decreased response time) 2. Adaptive Maintenance: changes made in response to changes in the environment the product operates in (i.e. new hardware/OS or new government regulations) 3. Corrective Maintenance: removal of residual faults while leaving specifications unchanged 4. Enhancement: changes to specifications and the implementation of those change Schach uses the term product to mean a non-trivial piece of software in order to: Schach uses the term product to mean a non-trivial piece of software in order to emphasize that it is the end point of the process of software production. Which term is used by Schach to denote an incorrect piece of software? Schach uses the term fault to denote an incorrect piece of software in order to highlight a software engineer as one who takes responsibility for his or her actions. Besides code in machine-readable form software consists of: manuals Software includes all the documentation that is an intrinsic component of every project. Schach Explain the impact of Miller's law on software production.
Written for
- Institution
- Athabasca University (AU )
- Study
- comp
- Course
- Comp 410
Document information
- Uploaded on
- August 31, 2024
- Number of pages
- 29
- Written in
- 2024/2025
- Type
- Exam (elaborations)
- Contains
- Questions & answers
Subjects
-
comp 410 exam
-
comp 410
-
software engineering principles comp 410 exam
-
software engineering principles comp 410
-
software engineering principles
Document also available in package deal