Software Engineering Overview and Paradigms
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which characteristic is NOT typically associated with good software?

  • Maintainability
  • Efficiency
  • Usability
  • Wearability (correct)
  • What type of software product is specifically tailored for a unique customer need?

  • Commercial Software
  • Bespoke Software (correct)
  • Open-source Software
  • Generic Software
  • In software testing, which strategy focuses on evaluating the functionality of the software without looking at the internal code structure?

  • Unit Testing
  • White Box Testing
  • Integration Testing
  • Black Box Testing (correct)
  • Which model is characterized by incremental development and continual refinement of the product?

    <p>Spiral Model</p> Signup and view all the answers

    What term is used to describe software development that emphasizes the modularity and abstraction of components?

    <p>Object-Oriented Design</p> Signup and view all the answers

    Which of the following is NOT a characteristic of software engineering?

    <p>Manufactured as a physical product</p> Signup and view all the answers

    Which type of maintenance is focused on correcting defects after the software has been delivered?

    <p>Corrective Maintenance</p> Signup and view all the answers

    What is one of the main focuses of software project scheduling?

    <p>Allocating resources effectively</p> Signup and view all the answers

    What is the primary purpose of a Work Breakdown Structure (WBS)?

    <p>To provide a hierarchical decomposition of a project</p> Signup and view all the answers

    Which statement accurately describes PERT methodology?

    <p>It is an event-oriented technique developed by the U.S. Navy</p> Signup and view all the answers

    What does the Critical Path Method (CPM) primarily help determine?

    <p>The total duration of the project</p> Signup and view all the answers

    Which of the following is classified under Project Risks in software risk classification?

    <p>Delays in the project schedule</p> Signup and view all the answers

    What distinguishes a Grantt chart from a PERT chart?

    <p>Grantt charts are deterministic, PERT charts are probabilistic</p> Signup and view all the answers

    What is the purpose of the PNR curve in software project management?

    <p>To indicate the relationship between effort and delivery time.</p> Signup and view all the answers

    What is a characteristic of both the PERT and Grantt charts?

    <p>They can be utilized for cost and time management</p> Signup and view all the answers

    Which principle is NOT part of software project scheduling?

    <p>Cost Estimation</p> Signup and view all the answers

    Which type of software risk includes issues such as schedule slips and increased costs?

    <p>Project Risks</p> Signup and view all the answers

    What does the 40-20-40 rule refer to in software project management?

    <p>The recommended distribution of effort in the software process.</p> Signup and view all the answers

    What term describes risks that can be anticipated within a project?

    <p>Known Risks</p> Signup and view all the answers

    Which task is involved in the Concept Development phase of a project?

    <p>Preliminary Concept Planning</p> Signup and view all the answers

    What is a Work Breakdown Structure (WBS) primarily used for?

    <p>Separating total work into manageable sections or activities.</p> Signup and view all the answers

    What is the primary focus of risk resolution in project management?

    <p>Executing the action plan to address each risk</p> Signup and view all the answers

    What outcome does a Critical Path Method (CPM) primarily focus on?

    <p>Identifying essential tasks that impact project completion.</p> Signup and view all the answers

    Which of the following is a potential issue in planning a software project?

    <p>Frequent changes in system requirements.</p> Signup and view all the answers

    Which output is NOT associated with the risk resolution phase?

    <p>Requirements documentation</p> Signup and view all the answers

    What is a key component of the Risk Mitigation, Monitoring, and Management (RMMM) plan?

    <p>Organizing risk management steps</p> Signup and view all the answers

    What does Effort Distribution refer to in software project scheduling?

    <p>The quantifiable distribution of workforce effort throughout a project.</p> Signup and view all the answers

    Which type of requirement specifies how the system should behave under specific conditions?

    <p>Functional requirements</p> Signup and view all the answers

    What is a common problem associated with functional requirements?

    <p>Incompleteness and inconsistency</p> Signup and view all the answers

    What do non-functional requirements primarily relate to?

    <p>System's operational constraints</p> Signup and view all the answers

    Which of the following is a problem related to user requirements?

    <p>Requirements confusion</p> Signup and view all the answers

    In the context of requirements, what are domain requirements concerned with?

    <p>Characteristics of the application domain</p> Signup and view all the answers

    What is the main purpose of the design phase in software development?

    <p>To transform requirements into a structure for implementation</p> Signup and view all the answers

    Which of the following does NOT represent a disadvantage of the Prototype Model?

    <p>Good user feedback</p> Signup and view all the answers

    What characterizes the Rapid Application Development (RAD) model?

    <p>Fast development and delivery of functional systems</p> Signup and view all the answers

    In the Spiral Model, which phase is NOT included?

    <p>Analysis</p> Signup and view all the answers

    What is a key advantage of the Iterative Waterfall Lifecycle model?

    <p>Feedback paths from each phase to preceding phases</p> Signup and view all the answers

    Which of the following is a disadvantage associated with the Spiral Model?

    <p>Cost and risk dependency</p> Signup and view all the answers

    Which characteristic is associated with the Win-Win Spiral Model?

    <p>Achieves a balance between customer satisfaction and developer deadlines</p> Signup and view all the answers

    In terms of user interaction, what is a potential drawback of the RAD model?

    <p>Can be unsuitable for users who prefer slower-paced environments</p> Signup and view all the answers

    What is meant by unpredictable risks in project management?

    <p>Risks that are challenging to identify in advance.</p> Signup and view all the answers

    Which of the following is NOT considered a risk principle?

    <p>Reactive strategies</p> Signup and view all the answers

    What does the formula $P = r * s$ represent in risk prioritization?

    <p>The priority score based on likelihood and consequence.</p> Signup and view all the answers

    Which of the following is true regarding reactive risk strategies?

    <p>They focus on responding to risks after they have occurred.</p> Signup and view all the answers

    What is the primary focus during the risk analysis phase?

    <p>To assess and estimate identified risks.</p> Signup and view all the answers

    Which activity is involved in the risk identification phase?

    <p>Documenting the risks</p> Signup and view all the answers

    What is the consequence of poorly defined requirements in a software development project?

    <p>Higher chance of scope creep.</p> Signup and view all the answers

    What does risk management planning involve?

    <p>Developing strategies for each significant risk.</p> Signup and view all the answers

    Study Notes

    Software Engineering Overview

    • Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; it's a structured approach, not just coding.
    • Software is developed or engineered, not manufactured in a traditional sense, and doesn't wear out. However, its maintenance is often significantly more challenging than initial development.
    • Software products can be developed for specific customers (bespoke) or for a general market (generic).
    • Good software should be maintainable, dependable, efficient, and usable.
    • Computer science focuses on theory, while software engineering focuses on the practical application of that theory to create useful software and address complex problems.

    Software Engineering Paradigms

    • Software engineering paradigms include different approaches or models for software development.
    • Waterfall model, iterative waterfall model, prototyping model, spiral model, RAD (Rapid Application Development) model are examples of distinct paradigms.

    Software Life Cycle Models

    • Waterfall Model: A linear, sequential process where each phase must complete before the next begins. Requirements are well-defined and stable for this model to work effectively. It's good for simple projects with clearly specified requirements. Features include: planning, modelling, construction, deployment.
    • Prototyping Model: A build-test-revise approach. A prototype is built quickly, tested, and revised based on feedback until a satisfactory prototype emerges. Suitable for situations where customers or requirements are less certain.
    • Spiral Model: Combines iterative development and sequential linear processes (like waterfall), with a strong focus on risk analysis and iterative development. This model is better during development for risk-prone projects. It's broken down into four phases: planning, design, construction, and evaluation.
    • RAD Model (Rapid Application Development): An incremental approach prioritizing speed. Multiple teams work on different functions concurrently. Emphasis on efficient user interaction and rapid development.

    Project Planning

    • Key aspects of project planning include estimating project size, resource needs, and timelines to produce a schedule. During planning, the project often gets broken into more manageable activities. Defining timelines is key, as is considering how much effort each activity will require, time needed, and cost.
    • Project planning objectives involve understanding the problem scope, using historical data, estimating effort and size, and defining a project schedule. Planning accounts for project scope, resources, time, quality, and risk.
    • The project plan details the project in order to prevent a crucial issue: failure to accurately estimate the necessary resources.
    • Various project plan types include a software development plan, Quality Assurance Plan, Validation Plan, Configuration Management Plan, Maintenance Plan, and Staff development plan.

    Requirements Engineering

    • Requirements engineering involves eliciting, organizing, and documenting the requirements for a software system.
    • It's distinct from design: it focuses on what the system should do, not how it should do it.
    • Types of requirements include functional requirements (what the system should do, like inputs and outputs), non-functional requirements (properties like reliability, performance, security, maintainability), domain requirements (special requirements from specific applications), and user requirements (natural language depictions and diagrams).

    Risk Analysis and Management

    • Risk analysis and management encompass the process of identifying potential problems, estimating their impact, and developing strategies to mitigate them. The processes, include both proactive methods (identifying and planning for situations in advance) and reactive ones (acting when a problem arises).
    • Risks in software development often stem from poorly defined requirements, changing client requirements, uncertain cost estimations, or relying on specific developer skills.
    • Risks are categorized in different ways: Project risks, technical risks, and business risks are part of one classification, whereas know risks, predictable risks, and unpredictable risks are part of another classification.
    • The Risk Management Process is a method of identifying, analyzing, planning, tracking, and controlling risks; further including assessing, monitoring, and resolving risks as they come up during projects or programs. Specific tools, like risk matrices and checklists, are commonly used during these stages.

    Software Project Scheduling

    • Software project scheduling involves distributing estimated efforts and timeframes across a project to efficiently manage milestones. The process often breaks down a project into activities and estimates how much time each will take to complete.
    • Scheduling generally uses methodologies similar to other engineering efforts. Tools and methods include the Work Breakdown Structure (WBS) for organizing and defining tasks, Activity Charts and Network Diagrams for visual representations of tasks and dependencies.
    • PERT (Project Evaluation Review Technique) is a probabilistic model, while CPM (Critical Path Method) is a deterministic approach, both valuable for project schedule creation and resource allocation.

    Fourth Generation Techniques

    • Fourth-generation techniques use tools that automate the code generation process based on user specifications. This automation can streamline development to produce code quickly or in response to changes. Common tools include: non-procedural database query languages, report generators, data manipulation tools, and code generators.
    • A benefit could be a reduction in development time for smaller projects. However, generated code can sometimes be less efficient than code written by a developer.

    Software Metrics

    • Scope - classification of metrics - measuring process and product attributes. Direct and indirect measurements, cost estimation, and software quality standards (like COCOMO model).

    Software Configuration Management (SCM)

    • Software configuration management encompasses the procedures of controlling and managing changes to software over its entire lifecycle. Essential components involve version control and management of software configuration items.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Software Engineering PDF

    Description

    This quiz covers the fundamental concepts of software engineering, including its systematic approach, development processes, and maintenance challenges. It also explores various software engineering paradigms such as the waterfall model, prototyping, and iterative development strategies. Test your knowledge on the principles that guide the creation and maintenance of software.

    More Like This

    Use Quizgecko on...
    Browser
    Browser