Introduction to Software Engineering
47 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

What typically happens to the failure rate of software after changes are made?

  • It spikes and potentially deteriorates. (correct)
  • It decreases immediately.
  • It remains constant.
  • It becomes zero.
  • Software cannot be reused in different applications.

    False

    What type of software is responsible for managing hardware and providing services to other software?

    System software

    Programs that monitor, analyze, and control real-world events are called ______.

    <p>real-time software</p> Signup and view all the answers

    Match the following software types with their descriptions:

    <p>System Software = Manages hardware and services other programs Real-Time Software = Monitors and responds to real-world events Business Software = Facilitates business operations and management decisions Engineering and Scientific Software = Characterized by complex number calculations</p> Signup and view all the answers

    Which of the following is a characteristic of engineering and scientific software?

    <p>Number crunching algorithms</p> Signup and view all the answers

    Business software operates independently of large databases.

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

    What is the largest single area of software application?

    <p>Business information processing</p> Signup and view all the answers

    What is a characteristic that differentiates software from hardware?

    <p>Software does not wear out over time.</p> Signup and view all the answers

    Software is subjected to environmental factors that can cause it to wear out.

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

    Which of the following fields utilizes embedded software?

    <p>All of the above</p> Signup and view all the answers

    What does the term 'software engineering' refer to?

    <p>The application of engineering principles to software development.</p> Signup and view all the answers

    Artificial intelligence software primarily relies on numerical algorithms to solve problems.

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

    Software is primarily composed of __________, data structures, and documents.

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

    What type of software is specifically designed to simulate brain processes?

    <p>artificial neural networks</p> Signup and view all the answers

    Match the following software characteristics with their descriptions:

    <p>Developed = Created through engineering processes Unique = Not manufactured like hardware Stable = Does not wear out Documented = Includes manuals and descriptions</p> Signup and view all the answers

    Legacy software often remains in use for more than _____ years.

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

    Which of the following options best describes the 'bathtub curve' in relation to hardware?

    <p>Failure rates initially increase, then decrease, before rising again.</p> Signup and view all the answers

    What is a common application area for AI software?

    <p>Pattern recognition</p> Signup and view all the answers

    High quality in software development can only be achieved during the manufacturing phase.

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

    Companies often abandon software systems that are over 20 years old.

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

    What are the three main components of software according to the characteristics defined?

    <p>Instructions, data structures, and documents.</p> Signup and view all the answers

    Name a new branch of software that has evolved in recent years.

    <p>artificial neural networks</p> Signup and view all the answers

    What is a primary reason for maintaining legacy systems?

    <p>It's too risky to replace them</p> Signup and view all the answers

    Legacy software is usually designed with a flexible architecture.

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

    Name one characteristic of legacy systems.

    <p>Complex code</p> Signup and view all the answers

    Legacy systems consist of a series of __________, each depending on the layer immediately below it.

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

    Which layer might introduce new facilities that could require changes to higher layers in a legacy system?

    <p>Support software layer</p> Signup and view all the answers

    Match the following characteristics with legacy systems:

    <p>Older quality = Poorly maintained Documentation = Usually nonexistent Change history = Poorly managed Code complexity = Often complex</p> Signup and view all the answers

    Software engineering is conducted by individuals who lack creativity and knowledge.

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

    Software must be designed properly according to user __________.

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

    What is the primary goal of software engineering?

    <p>To improve the quality of software products</p> Signup and view all the answers

    Software engineering methods do not require any organization commitment to quality.

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

    What does the IEEE define software engineering as?

    <p>A systematic, disciplined, quantifiable approach to software development, operation, and maintenance.</p> Signup and view all the answers

    Software engineering layers include _____, methods, and tools.

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

    Match the following key components of software engineering with their descriptions:

    <p>Process = Framework for key areas of software delivery Methods = Technical 'how to's' for building software Tools = Support for processes and methods applicable to projects Quality = Organizational commitment to ensure software reliability</p> Signup and view all the answers

    Which of the following is a key activity in software engineering methods?

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

    Tools in software engineering provide automated support for processes.

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

    Name one approach that software engineering studies.

    <p>Multi-person construction of multiversion software.</p> Signup and view all the answers

    What is the main purpose of the communication phase in the software process?

    <p>To gather and specify software requirements</p> Signup and view all the answers

    The deployment phase includes assessing risks that may affect the outcome of the project.

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

    What are the two main engineering actions involved in the modeling activity?

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

    The _____ combines code generation and testing to uncover errors in the software.

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

    Match the following umbrella activities with their descriptions:

    <p>Software quality assurance = Ensures software quality through defined activities Risk management = Assesses potential risks to the project outcome Software project tracking and control = Monitors progress against the project plan Formal technical review = Identifies and removes errors before further action</p> Signup and view all the answers

    Which of the following is NOT a task associated with the analysis action in the modeling phase?

    <p>Data design</p> Signup and view all the answers

    All software engineering actions are composed solely of individual work tasks.

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

    List one of the work tasks involved in the design action.

    <p>Architectural design</p> Signup and view all the answers

    Study Notes

    Introduction to Software Engineering

    • Software is defined as instructions (computer programs), data structures for program operations, and documents explaining program use.
    • Software characteristics differ significantly from hardware. Hardware design translates directly to a physical form, while software evolves from sketches, formal designs, and prototypes into a physical form.
    • Software is developed, not manufactured. Software development and hardware manufacture are fundamentally distinct processes. Quality problems can arise during hardware manufacturing but are often nonexistent or easily rectified in software.
    • Software does not wear out in the same way hardware does; hardware failure rates are initially high then steady, eventually increasing with time. Software defects, however, can be introduced through maintenance, causing failure rates to spike, and requiring fixes.

    Software Characteristics

    • Software is a logical element, not a physical one. Its characteristics differ significantly from those of hardware.
    • Software is not susceptible to the environmental maladies that cause hardware to wear out. The software's life cycle involves changes (maintenance). These changes can lead to new defects and spikes in failure rates that require more changes, gradually increasing this failure rate.

    Software Applications

    • System software supports other programs. Its tasks include complex, determinate processing, heavy interaction with hardware, multiple user concurrency, complex data structures, and multiple external interfaces. Real-time software monitors, analyzes, and controls real-world events, incorporating data gathering, analysis, and control elements.
    • Business software manages and processes business information. Discrete "systems" have evolved into management information systems (MIS) software that manipulates large databases.
    • Engineering/scientific software utilizes "number-crunching" algorithms, ranging from astronomy to manufacturing.
    • Embedded software, common in consumer and industrial products, is used for controlled operations. Personal computer software is a wide area of applications (e.g., word processing, spreadsheets, etc.)
    • Artificial intelligence (AI) software uses non-numerical algorithms for complex problem-solving and analysis. Active areas encompass expert systems, pattern recognition, theorem proving, and game playing. AI software is also exploring new branches like artificial neural networks.

    Legacy Software

    • Companies invest heavily in software. Long lifespans are needed for return on investment (ROI).
    • Many large systems remain in use for over 20 years, sometimes being business-critical.
    • Legacy software may be maintained due to cost or technical issues involved in replacement. Quality issues can include older, poor quality, inflexible designs, complex code, and lack of documentation.

    Legacy Layered Model

    • Legacy systems are layered. Each layer relies on the layer below and interfaces with it.
    • Maintenance of interfaces within the system allows for changes in one layer without affecting adjacent layers (directly).
    • Changes to one layer may necessitate changes in layers above and below. Changes may introduce new system facilities. Other parts of the system can be modified to utilize these advancements. Changing the software or new hardware can impact performance and require changes that may not be immediately clear. Interface maintenance can be difficult when changes to hardware are radical.

    Software Engineering

    • Software engineering is a framework of tasks for building high-quality software. It is driven by knowledgeable professionals. The software should properly meet user requirements, implemented, tested, and contain supporting documents (e.g., user manuals).
    • Software engineering principles are aimed at reliability and efficiency. This approach utilizes sound engineering principles to establish a software process (reliable, efficient software).
    • A comprehensive approach to software engineering includes a layered view encompassing tools, methods, process, and quality. The key process areas are a basis for effective software delivery.

    Software Process

    • A common process framework is applicable to all software projects, regardless of size or complexity.
    • The framework includes communication, planning, modeling, construction, and deployment.

    Umbrella Activities

    • Software project tracking and control, risk management, software quality assurance, formal technical reviews, and measurement are process aspects that add value to software projects.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Explore the fundamental concepts of software engineering, including the definition, unique characteristics, and the differences between software and hardware. This quiz delves into the processes of software development and the challenges associated with software maintenance and quality. Test your understanding of how software evolves from design to implementation.

    More Like This

    Use Quizgecko on...
    Browser
    Browser