Introduction to Software Engineering Quiz
50 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 percentage of application development costs is considered wasted due to projects getting abandoned or reworked?

  • 31% (correct)
  • 20%
  • 56%
  • 56%
  • What is the average cost overrun percentage documented?

  • 100%
  • 189% (correct)
  • 150%
  • 250%
  • Which of the following is NOT mentioned as an observed problem in software products?

  • Frequent crashes
  • Expensive alterations and debugging
  • Failure to meet user requirements
  • Inability to use advanced algorithms (correct)
  • What percentage of client/server applications are stated to be abandoned or restarted from scratch?

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

    What is identified as a major misconception in software development?

    <p>The man-month myth.</p> Signup and view all the answers

    What is a reason stated for poor software statistics?

    <p>Software professionals lacking engineering training.</p> Signup and view all the answers

    Which of the following is a common outcome for apps, according to the provided information?

    <p>Significantly altered to avoid disaster.</p> Signup and view all the answers

    What aspect of software complexity increases exponentially with size?

    <p>Overall development difficulty.</p> Signup and view all the answers

    What was the primary focus of the SABRE project?

    <p>Airline reservation system</p> Signup and view all the answers

    Which company developed Flowchart Software known as Autoflow?

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

    What was a significant characteristic of the software era that began in 1981?

    <p>The introduction of packaged software for the masses.</p> Signup and view all the answers

    Which of the following companies was associated with systems, applications, and products in the software industry?

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

    What was the significance of unbundling software from hardware?

    <p>It enabled software to be developed and marketed independently.</p> Signup and view all the answers

    Which product is considered one of the first packaged software products for the masses?

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

    What was the primary product that Microsoft bought from Seattle Computer Products in 1981?

    <p>Operating System</p> Signup and view all the answers

    In which era did internet software and value-added services begin to emerge?

    <p>Era 5</p> Signup and view all the answers

    What is a misconception about the stability of application requirements?

    <p>Application requirements are always stable.</p> Signup and view all the answers

    Which statement reflects a common belief among developers about software demonstration?

    <p>The job is done once the software is demonstrated.</p> Signup and view all the answers

    What is incorrectly assumed about the deliverables in a software development project?

    <p>Testing is the only deliverable.</p> Signup and view all the answers

    According to management myths, what is believed to ensure software quality?

    <p>Good standards and procedures.</p> Signup and view all the answers

    What is a misconception regarding software engineers and their tools?

    <p>Access to sophisticated tools is the sole factor of quality.</p> Signup and view all the answers

    What is a flawed approach to handling schedule delays in software projects?

    <p>Adding more engineers to the project.</p> Signup and view all the answers

    Which of the following misconceptions is related to assessing software quality?

    <p>Quality can only be assessed post-coding.</p> Signup and view all the answers

    What aspect is often underestimated in the software development process?

    <p>The importance of clear requirements.</p> Signup and view all the answers

    Which of the following is NOT categorized as a software service?

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

    What is a common issue faced by organizations in software engineering today?

    <p>Utilization of outdated practices</p> Signup and view all the answers

    Which company is primarily recognized for providing packaged mass-market software?

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

    The statement 'Organizations go with what has worked in the past' describes which aspect of software development?

    <p>Resistance to change</p> Signup and view all the answers

    Which of these companies is NOT associated with professional software services?

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

    What challenge is noted regarding the integration of best practices in software engineering?

    <p>Lack of awareness among software developers</p> Signup and view all the answers

    Which software type focuses on solutions for individual businesses rather than packaged offerings?

    <p>Enterprise Solutions</p> Signup and view all the answers

    What is one result of the rapidly evolving nature of the software industry?

    <p>Overall improvement remains limited</p> Signup and view all the answers

    What is a primary difference between software programming and software engineering?

    <p>Software engineering typically involves numerous stakeholders.</p> Signup and view all the answers

    Which item is NOT a characteristic of software products as compared to programs?

    <p>Single developer</p> Signup and view all the answers

    Which assumption is commonly made about user requirements during software development?

    <p>All requirements can be pre-specified.</p> Signup and view all the answers

    What percentage of overall development costs does maintenance typically account for in software engineering?

    <p>Over 60%</p> Signup and view all the answers

    Which of the following best describes a software product?

    <p>Has a systematic development approach.</p> Signup and view all the answers

    What typically characterizes software programming compared to software engineering?

    <p>Often results in 'toy' applications with short lifespans.</p> Signup and view all the answers

    What is included in the configuration of software?

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

    Which of the following roles is NOT typically associated with software engineering?

    <p>Sales Manager</p> Signup and view all the answers

    What is a primary goal of software engineering?

    <p>To deliver software that meets user requirements and is within budget</p> Signup and view all the answers

    Which model is NOT part of traditional software engineering?

    <p>Machine Learning model</p> Signup and view all the answers

    Who is associated with defining software engineering as a systematic approach to software analysis and design?

    <p>Sue Conger</p> Signup and view all the answers

    Which of the following definitions emphasizes the economic reliability of software?

    <p>Use of sound engineering principles for economically reliable software</p> Signup and view all the answers

    Which diagram is part of Object-Oriented Software Engineering?

    <p>Class Diagram</p> Signup and view all the answers

    In the evolution of the software industry, which phase was characterized by the creation of tailored solutions for individual clients?

    <p>Independent Programming Service</p> Signup and view all the answers

    Which principle is NOT directly associated with the goals of software engineering?

    <p>Specifications driven by market moods</p> Signup and view all the answers

    What is one of the aspects of systematic production in software engineering?

    <p>Application of engineering principles</p> Signup and view all the answers

    Which software process model emphasizes iterative development?

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

    Which of the following best describes the essence of software engineering?

    <p>A multidisciplinary approach involving technology and management</p> Signup and view all the answers

    Study Notes

    Introduction to Software Engineering

    • The course introduces software engineering, its challenges, and processes.
    • Aims to help students understand and avoid pitfalls and myths in software design.
    • Focuses on the different types of software processes for selection of a suitable one.
    • Aims to teach high-quality efficient software design for usability and maintainability.
    • Includes advanced methods for software engineering.

    Course Objectives

    • Learn about difficulties in software development to avoid pitfalls and myths in design.
    • Learn different software processes for suitable choice.
    • Learn designing high-quality, efficient software for usability and maintainability.
    • Learn about advanced methods in software engineering.

    Course Contents

    • Introduction to Software Engineering
    • Software Processes
    • Requirements Engineering
    • Software Design
    • Object-Oriented Software Development
    • Software Testing and Verification
    • Software Project Management
    • Advanced Methods

    Chapter 1: Introduction to Software Engineering

    • Overview of software engineering, including software crisis, myths, methods, evolution, and status.

    Contents (of Chapter 1)

    • Software Crisis
    • Software Myths
    • What is Software Engineering?
    • Evolution of Software Engineering
    • State-of-the-art in Software Engineering

    The Statistics - Chaos Report

    • Standish Group 1995 study of 8,380 projects
    • Average time overrun 222%
    • Average cost overrun 189%
    • 61% of projects completed with originally specified features.
    • 16% of projects completed with all originally specified features on time and on budget.
    • 31% delivered operational, but over budget or schedule or with fewer features

    Symptoms of Software Crisis

    • US$250 billion spent annually on application development in the US.

    • US$140 billion wasted due to abandoned or reworked projects.

    • 10% of client/server apps are abandoned or restarted.

    • 20% of apps are significantly altered to avoid disaster.

    • 40% of apps are delivered significantly late. (Compuware study 12/95 of 70 large c/s apps 30 European firms)

    Observed Problems

    • Software products often fail to meet user needs.
    • Software products frequently crash.
    • Software development is expensive.
    • Software products are difficult to alter, debug, and enhance.
    • Software products are often delivered late.
    • Software products use resources inefficiently.

    Why are the Statistics so Bad?

    • Misconceptions about software development
    • Software myths (e.g., the man-month myth)
    • False assumptions
    • Inability to distinguish computer program coding from software product development
    • Exponential growth in complexity and difficulty level of software with respect to size.
    • Ad-hoc approaches break down when software size increases.
    • Lack of engineering training in software professionals
    • Programmers with programming skills but missing engineering mindsets on process discipline and internal complexities. (e.g., essences and accidents made by Fred Brooks).

    How is Software Usually Constructed?

    • Requirements are defined.
    • Developers interpret the requirements.
    • The problem is solved.
    • The problem is solved again (now differently).
    • The program is debugged by the program writers.
    • The program is described by marketing.
    • This is what the customer seemingly wanted, in reality.

    Software Myths (Customer Perspectives)

    • A general statement of objectives is enough to start software development.
    • Missing/vague requirements can be easily incorporated/detailed later.
    • Application requirements are not stable; software must be flexible to adapt to change.

    Software Myths (Developer Perspectives)

    • Once the software is demonstrated, the job is done.
    • Issues only begin after software is demonstrated to the customer.
    • There is no way to assess quality before coding and testing..
    • Tiny software bugs grow in complexity as they progress through further stages.
    • The tested code is the only deliverable
    • The code is only the externally visible component of the complete software system.

    Software Myths (Management Perspectives)

    • Good standards and procedures in the company are enough to prevent problems.
    • The proof of the pudding is in the eating, not the recipe.
    • Having access to the best tools and environment in the company is enough.

    Software Myths (Misplaced Assumptions)

    • All requirements may be pre-specified.
    • Users are expert at specifying their needs.
    • Both users and developers are good at visualization.
    • The project team can communicate unambiguously.

    Confused with Programs and Products

    • Programs are usually small with a single developer and user.
    • Software products are large with multiple users and developers.
    • Programs are often ad-hoc, lack proper documentation, and interface.
    • Software products are systematic, well-documented, and user manual-prepared.

    Software Programming ≠ Software Engineering

    • Programming involves translating problems into computer-understandable language.
    • Software engineering involves teams, complex systems, indefinite lifespans, and the role of numerous stakeholders.

    What is Software?

    • Software is a set of items/objects forming a configuration (i.e. programs, documents, and data).

    What is Software? (Continued)

    • Software consists of instructions (programs), data structures, and documents.
    • It has dynamic behavior in real computers and auxiliary equipment.

    Unique Characteristics of Software

    • Malleable
    • Human intensive
    • Intangible and hard to measure
    • Usually complex problems
    • Depends on hardware
    • Top of system engineering "food chain"
    • Does not wear out but will deteriorate
    • Requires unusual rigor
    • Has discontinuous operational nature

    Casting the Term

    • Software engineering was born in NATO conferences in 1968 to address major software project failures.

    What is Software Engineering?

    • The application of systematic, disciplined, and quantifiable approach to software development, operation, and maintenance.
    • A discipline aiming at producing quality software within budget and time, satisfying user needs.

    What is Software Engineering? (Continued)

    • Concerned with software development theories, methods, and tools.
    • Application of scientific knowledge in design and construction of computer programs, including associated documentation.
    • Establishes and uses engineering principles for reliable, efficiently functioning software.

    Scope and Goals of Software Engineering

    • Scope: study of software processes, development principles, techniques, and notations.
    • Goals: produce quality software delivered on time and within budget, satisfying customers' needs.

    Software Process Models

    • Waterfall life cycle
    • Prototyping
    • Spiral model
    • Automatic Synthesis Model
    • Object-oriented model
    • 4 GL model

    Traditional Software Engineering

    • Focuses on software systems, including function, data, and behavior.
    • Relies on diagrams like Data Flow Diagram and Entity-Relationship Diagram.

    Object-Oriented Software Engineering

    • Focuses on objects, functions, and behavior within software systems.

    Evolution of Software Industry

    • Independent Programming Service
    • Software Product
    • Enterprise Solution
    • Packaged Software for the Mass
    • Internet Software and Services

    Independent Programming Services (Era 1)

    • Founded in 1955 by Elmer Kubie and John Sheldon.
    • Early software companies focused on building software for hardware companies.

    Software Product (Era 2)

    • 1964: Martin Goetz developed Flowchart Software for RCA.
    • Selling software to customers without linking to a specific hardware platform.
    • Development of early database management systems.
    • IBM unbundled software from hardware.

    Enterprise Solutions (Era 3)

    • Dietmar Hopp led a team at IBM Germany to start a software company (SAP) in 1972.
    • Marked by the emergence of Enterprise Solution providers.
    • Examples: Baan, Oracle, and implementation of ERP.

    Packaged Software for the Mass (Software Era 4)

    • Spreadsheet program VisiCalc (1979)
    • Bill Gates bought the first version of the OS for IBM PCs in 1981.
    • Development of PC-based mass-market software.

    Internet Software and Services (Era 5)

    • Netscape browser software (1994) launch of the Internet and value-added services period.

    Evolution of Design Techniques

    • Ad hoc
    • Data structure-based
    • Control flow-based
    • Data flow-based
    • Object-oriented
    • Application domain knowledge
    • Specialized SE Knowledge
    • Advanced SE knowledge
    • Guide to the SWEBOK Ironman
    • Computer Science (C.S.)
    • Mathematics

    IT Market

    • Hardware products
    • Hardware maintenance & services
    • Software products and Services, including embedded software, professional services, enterprise solutions, and mass-market software.
    • Processing and Internet services

    Software Products and Services

    • List of professional services, enterprise solutions, and packaged software companies.

    Software Engineering Today

    • Organizational focus on past techniques.
    • Difficulty in education and training.
    • Lack of processes and quality standards within the software engineering industry.

    Software Engineering Today? (Continued)

    • Knowledge and integration of best practice methodologies in timely fashion.
    • Specific improvements in specific areas, but little overall progression.

    Not Crisis, But a Chronic Problem

    • Consistent software failures persist even after 35 years.
    • Quality, budget, and delivery constraints still prevalent.

    What's Wrong?

    • Software engineering hasn't achieved its promise due to a lack of fault free software, meeting delivery deadlines, and fulfilling the customers needs efficiently.
    • Progress despite the flaws of the software engineering industry.

    A More Close Look

    • Improvements in software engineering, although some problems persist.
    • Comparing 1995 and 2003 software industry reports reveals some improvements.

    So, What's the Problem?

    • Evolving software industry challenges.
    • Educational and training issues.

    Software Changes in the Past Years

    • Software size, increasing drastically.
    • Operating environment, changing from batch to complex systems.

    Software Changes in the Past Years (Continued)

    • Computer systems and software increasing in complexity and size.
    • Challenges in programming, as simple programming methods cannot handle the complexity.

    Situations for Software Are Different Too

    • Intense market forces, unrealistic schedules
    • Changing client needs, more rapid software evolution and use of techniques and tools.
    • Issues in training and education.
    • Talent shortage
    • Always trying new things
    • Complexity moving into software

    The Software Industry Today

    • Continued struggles with quality, unrealistic delivery dates, and budgets for producing software, in spite of advancements.
    • Issues involving components, technology, and standards, along with conflicting terminology.

    The Current State of Software Engineering Today

    • Goal-oriented
    • Tools and Standards
    • Methodology
    • Theory & Principles

    Three Key Challenges

    • Maintaining and updating legacy systems
    • Software/hardware heterogeneity
    • Pressure for faster software delivery

    Ever-Present Difficulties

    • Few guiding scientific principles and universally applicable methods within software engineering.
    • Managerial/psychological/sociological challenges are as important as technological.

    Future of SE

    • Processes, including requirements engineering and reverse engineering
    • Testing, Maintenance and Evolution, Software architecture and modeling, SE and middleware, tools, and environment, Configuration management, Databases, SE education
    • Software analysis, formal specification, mathematical and reliability foundations, performance, SE for safety, security, mobility, Internet, Software economics, empirical studies, and software metrics

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Test your understanding of software engineering concepts, processes, and methodologies. This quiz covers essential topics such as requirements engineering, software design, and advanced methods in software development. Prepare to explore common pitfalls and learn to make informed choices in software processes.

    More Like This

    Overview of Software Engineering
    8 questions

    Overview of Software Engineering

    RapturousConstellation avatar
    RapturousConstellation
    Software Engineering Design Principles
    32 questions
    Open Source Software Development Quiz
    28 questions

    Open Source Software Development Quiz

    UserFriendlySerpentine2341 avatar
    UserFriendlySerpentine2341
    Use Quizgecko on...
    Browser
    Browser