









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Complete CS 319 Software Engineering Midterm Study Guide with Questions and Answers for 2025/2026. Covers SDLC models (Waterfall, Spiral, Incremental), Agile principles, Scrum, UML diagrams, Requirements Engineering, Software Architecture, Design Patterns, Web & Mobile App Design, and Component-Based Development. CS 319, Software Engineering, Midterm Exam, SDLC Models, Agile Manifesto, Scrum Process, UML Diagrams, Software Architecture, Design Patterns, Requirements Engineering, WebApp Design, MobileApp Design, Exam Review
Typology: Exams
1 / 17
This page cannot be seen from the preview
Don't miss anything!










answerSoftware doesn't "wear out",Software is developed or engineered, software is custom built. 2.Explain what is wrong with the notion that computer software does not need to evolve over time. - answerSoftware needs to be: adapted,enhanced, extended,re-architected
3.How do software characteristics differ from hardware characteristics? - answerNetwork intensiveness. Concurrency, Unpredictable load,Performance, Availability, Data driven,Content sensitive, Continuous evolution,Immediacy, Security,Aesthetics
4.From the Software Engineering definition by the IEEE, which are the main characteristics included inthe definition? - answerdisciplined, systematic,
and quantifiable 5.Describe the relationships among software engineering process, methods, and tools. -provide automated or semi-automated support for the process and methods. answertools
6.List three areas in which process models may differ from one another. -team organization and roles are prescribed. answer1. Degree to which
7.Describe how Polya's problem solving principles describe the essence of engineering practice? - answer1. Understand the problem
8.Which ones are essential characteristics or "Quality Software Attributes" of a professional softwaresystem? - answerCompetence. Intellectual property rights Maintainability: capacity for evolution Dependability: should not cause damageReliability SecuritySafety Efficiency: well use of resourcesUsability: easy to use and learn
Confidentiality
Inactive, "Awaiting changes, under revision" or "under review, baselined", done
note: there are more models 13.What are benefits of Incremental Delivery? -amount of time developing the core portion of the product then the extra features in the following answerWe can offer the product in a much shorter updates by increments. 14.Describe the phases of the prototyping model for software development? -requirements to begin with: answerIdentify some Develop initial prototype: Review the prototype:Revise and enhance the prototype:
Why are evolutionary models considered by many to be the best approach to software development ina modern context? - answerBecause this models are design to accommodate a product that grows and changes. Evolutionary models are interactive. They are characterized in a manner that enables you todevelop increasingly more complete versions of the software.
What are the primary advantages of the component-based process model for software engineering? - answerSoftware Reuse, Reduction on development cycle time and reduction on project cost.
What are the tradeoffs proposes by the "Manifesto for Agile Software Development"? -delivery is valued over intermediate work products answer- Rapid
Describe the three key assumptions regarding software projects that every agile software process mustaddress. - answer1. difficulty in predicting which software reqmts will change in advance or how customer priorities will change as the project proceeds
Describe the SCRUM process and the diagram shown in the book: -and delivery answeranalysis, design, evolution,
emphasize project priorities, compartmentalize work units communication and frequent customer feedback.
.List the key issues stressed by an agile philosophy of software engineering. -self-organizing teams that have control over the work they perform answer- The importance of
Deployment is the physical activity to place software in the final server. What are the six steps for requirements engineering? -2. elicitation answer1. inception
What work products result from the requirements engineering process?. -engineers better understand the problems they are trying to solve. answerHelps software
It is very important to understand the customer's wants and needs before you begin designing orbuilding a computer-based solution.
What do you think is the goal of Elicitation activity within the software requirements phase? -draw out the requirements from the stakeholder. answerTo
Describe the job of the requirements engineer with respect to stakeholder collaboration? -identify areas of commonality in which stakeholders agree and areas of conflict between other answerTo stakeholders. What are the benefits of using analysis patterns during the analysis modeling process? -up the development of abstract analysis models that capture the main requirements of the concrete answer- Speed problem by providing reusable analysis models
List the types of models that might be used in requirements modeling and explain the role of each typeof model - answer1. scenario based model - reqmts from the users point of view
Describe the purposes of domain analysis. -projects answeridentify common requirements to reuse in other
The intent is to identify the common problem solving elements that are applicable to all applicationswithin the domain
Which UML (unified modeling language) diagrams are useful in scenario-based modeling? -cases answer- Use
Describe the roles of the three sections of CRC (class responsibility collaborator) cards? -the card - name of the class answerTop of Left - class responsibilities Right - collaborators List three types of classes that may be present in the analysis model. -- Boundary Classes answer- Entity Classes
Which are the metrics used for specifying non-functional requirements? -transact/second, response time, screen refresh time answerSpeed:
Size: storage, memory Ease of use: training time, online help Reliability: mean time to failure, probability of unavailability, rate of failure, availability Robustness: restart time, pct of failure events, prob. of data corruption after failure
Portability: percent of target-dependent code, number of target systems What is UML? -blueprints; answerUnified Modeling Language is a standard language for writing software
used to visualize, specify, construct, and document the artifacts of a software intensive system; Which are the most commonly used UML diagrams? Describe them. - answer"C.U.S.A" Class diagrams - these diagrams model classes, their attributes, operations andrelationships/associations to other classes
Use Case Diagrams - A use case describes how a user interacts with the system by defining the stepsrequired to accomplish a specific goal
Sequence Diagrams - Used to show the dynamic communications between objects during execution of atask
Activity Diagrams - Depicts the dynamic behavior of a system or part of it through the flow of controlbetween actions. Similar to a flow chart except it can show concurrent flows
List three characteristics that can serve as a guide to evaluate design quality. -1. implement all of the explicit requirements and accomodate all the implicit requirements desired by answerdesign should: stakeholders
What is Refactoring, and when is it applied? -of a component without changing its function of behavior. It is suggested for many agile methods. answerReorganization technique that simplifies the design
List the four design models required for a complete specification of a software design and the role ofeach. - answer1. Data design - high level model depicting user's view of the data or information.
Which ones are well-known architectural styles/patterns? - answerData-Centered Architectures Data-Flow ArchitecturesCall-and-Return Architectures Object-Oriented ArchitecturesLayered Architectures
Describe the types of dependencies that can exist in an architectural design. -dependencies - represent dependence relationships among consumers who use the same resource of answerSharing producers who produce for the same consumers. Flow dependencies - dependence relationships between producers and consumers of resources Constrained dependencies - which represent constraints on the relative flow of control among a set ofactivities.
How does the object-oriented view of component-level design differ from the traditional view? - answerOOV - detailed microscopic - very detailed.
TV - Control, Infrastructure and Domain (macro) - overview of C, I, D
Coupling is a qualitative measure of the degree to which components are connected to one another. -SHOWS HOW THEY ARE CONNECTED
What are the steps used to complete the component-level design for a software development project? - answer1. Identify all design classes that correspond to the problem domain.
List three principles that should be applied when building any user interface. -control answer1. Place the user in
What is an MVC Pattern? -WebApp functionality and information content answerThe MVC architecture decouples the user infrastructure from
What is the role of context in MobileApp design? -technical considerations needed in designing a MobileApp i.e. power management, computational and answerIt helps distinguish the developmental and storage limits, security and privacy models and policies, ui limitations.
Users expect MobileApps to deliver personalized user experience based on the physical location of adevice in relation to the available network features
What are the steps in the engineering process model for developing MobileApps? -Formulation answer1.
What are the major attributes should be used to assess the quality of a MobileApp? - answerfunctionality reliability efficiencymaintainability usabilityportability
FREMUP - SAME AS IN WEB APP WITH THE ADDITION OF "PORTABILITY" What questions should beconsistent across applications? answers to assess usability of a mobile device? - answerIs the user interface Is the device interoperable with different network services? Is the device acceptable in terms of stakeholder values" in the target market area?