CS 3321 Software Engineering Midterm 1 Review Questions and Answers
Software Engineering - Answer-a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the client's needs Steps for Waterfall Life Cycle (Classical Model) - Answer-1. Requirements Phase 2. Analysis (specification) phase 3. Design phase 4. Implementation phase 5. Postdelivery maintenance 6. Retirement Requirements Phase - Answer-- Explores concept - Get the client's requirements Analysis (specification) Phase - Answer-- Analyze the client's requirements - Draw up the specification document - "What the product is supposed to do" - Draw up the software project management plan Design phase - Answer-- Architectural design, followed by - Detailed design - "How the product does it" Implementation phase - Answer-- Coding - Unit testing - Integration - Acceptance testing- determine whether the system is ready for release. Postdelivery Maintenance - Answer-the modification of software products after delivery to correct faults, to improve the performance or other attributes, or to adapt the product to a modified environment. Corrective Maintenance - Answer-fixing an error or bug that has been identified. Perfective Maintenance - Answer-Changes made to a system to add new features or to improve performance. Adaptive Maintenance - Answer-The implementation of changes in a part of the system, which has been affected by a change that occurred in some other part of the system. Retirement Phase - Answer-the removal of a system release from production, and occasionally even the complete system itself Object-Oriented Paradigm - Answer-1. Requirements workflow 2. Object-oriented analysis workflow 3. Object-oriented design workflow 4. Object-oriented implementation workflow 5. Postdelivery maintenance 6. Retirement Object - Answer-A software component that incorporates both data and the actions that are performed on that data Object-Oriented Paradigm Benefits - Answer-- The object-oriented paradigm reduces complexity because the product generally consists of independent units - Promotes reuse Classical Paradigm VS Object-Oriented Paradigm - AnswerThe basic software development process is: - Answer-Iterative (Each successive version is closer to its target than its predecessor) Incremental process - Answer-- Concentrate on the seven aspects that are currently the most important - Postpone aspects that are currently less critical - Every aspect is eventually handled, but in order of current importance The Unified Process uses a graphical language called: - Answer-Unified Modeling Language (UML) to represent the software being developed Unified Process - Answer-It incorporates: - The methodology with its underlying software lifecycle model and techniques - The tools we use - The individuals building the software Cost-benefit analysis - Answer-a way of determining whether a possible course of action would be profitable Metrics - Answer-to detect problems early in the software process - Metrics serve as an early warning system for potential problems Five Fundamentals of Metrics - Answer-1. Size (in lines of code or, better, in a more meaningful metric) 2. Cost (in dollars) 3. Duration (in months) 4. Effort (in person-months) 5. Quality (number of faults detected) Computer-Aided Software Engineering (CASE) - Answer-Software that assists with software development and maintenanceCASE tool - Answer-Assists in just one aspect of the production of software Examples: - A tool that draws UML diagrams - A report generator, which generates the code needed for producing a report CASE workbench - Answer-a collection of tools that together support one or two activities Examples: - A requirements, analysis, and design workbench that incorporates a UML diagram tool and a consistency checker - A project management workbench that is used in every workflow CASE environment - Answer-supports the complete software process Two basic forms of testing: - Answer-- Execution-based testing (running test cases) - Non-execution-based testing (carefully reading through an artifact) Non-execution-based testing - Answer-has to be used when testing artifacts of the requirements, analysis, and design workflows - Non-execution-based testing of code (code review) has been shown to be as effective as executionbased testing (running test cases) Execution-based testing - Answer-can be applied to only the code of the implementation workflow 3 Design Objectives - Answer-1. Ensure that the coupling is as low as possible (An ideal product exhibits only data coupling) 2. Ensure that the cohesion is as high as possible 3. Maximize information hiding Coupling - Answer-Degree of interaction between two modulesCohesion - Answer-Degree of interaction within a module Information hiding - Answer-Implementation details are not visible outside the module in which they are declared Reuse - Answer-refers to using components of one product to facilitate the development of a different product with a different functionality Use case models - Answer-an interaction between the software product itself and the users of that software product (actors) Actor - Answer-a member of the world outside the software product Use Case includes: - Answer-- Who is using the website - What the user want to do - The user's goal - The steps the user takes to accomplish a particular task - How the website should respond to an action
Written for
- Institution
- CS 3321 Software Engineering
- Course
- CS 3321 Software Engineering
Document information
- Uploaded on
- May 5, 2024
- Number of pages
- 7
- Written in
- 2023/2024
- Type
- Exam (elaborations)
- Contains
- Questions & answers
Subjects
-
cs 3321 software engineering
Also available in package deal