Software Categories and Evolution
40 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 type of software consists of standalone programs that solve specific business needs?

  • Application Software (correct)
  • Embedded Software
  • System Software
  • Scientific Software
  • Which of the following software types resides within a product to control its features and functions?

  • Web Application
  • Application Software
  • Embedded Software (correct)
  • Product Line Software
  • According to the law of increasing complexity, what happens as an E-type system evolves?

  • Its complexity increases (correct)
  • It requires less maintenance
  • It becomes simpler to understand
  • Its complexity decreases
  • What is the focus of the law of continuing growth in software evolution?

    <p>Increasing functional content to maintain user satisfaction</p> Signup and view all the answers

    What does the law of declining quality suggest about E-type systems?

    <p>Quality deteriorates unless maintained</p> Signup and view all the answers

    Which software is specifically designed to solve problems using non-numerical algorithms?

    <p>Artificial Intelligence</p> Signup and view all the answers

    What is the primary characteristic of system software?

    <p>It provides services to other software programs.</p> Signup and view all the answers

    Which law states that E-type systems must be continually adapted?

    <p>Law of Continuing Change</p> Signup and view all the answers

    What is the first step in the process of system engineering?

    <p>Establishing a world view</p> Signup and view all the answers

    Which of the following is a primary goal of product engineering?

    <p>Translating customer desires into capabilities</p> Signup and view all the answers

    What components are encompassed within the architecture in product engineering?

    <p>Software, hardware, databases, and people</p> Signup and view all the answers

    What is the focus of business process re-engineering (BPR)?

    <p>Redesigning workflows to optimize processes</p> Signup and view all the answers

    Which figure is responsible for driving architecture and infrastructure in product engineering?

    <p>Product engineer</p> Signup and view all the answers

    Which aspect is typically NOT included in the analysis of a specific domain of interest during system engineering?

    <p>Market trends</p> Signup and view all the answers

    According to the system engineering hierarchy, the construction and integration of which element is essential?

    <p>Targeted system elements</p> Signup and view all the answers

    What was the first platform to introduce the concept of business process re-engineering?

    <p>Harvard Business Review</p> Signup and view all the answers

    What is one of the key characteristics that makes software different from hardware?

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

    What does the feedback system law emphasize for achieving significant improvement?

    <p>Adopting a multi-level feedback system.</p> Signup and view all the answers

    Which of the following is a misconception held by practitioners regarding software development?

    <p>Writing a program is the final step in a project.</p> Signup and view all the answers

    What issue does the concept of legacy software primarily address?

    <p>Continuous modifications for changing business needs.</p> Signup and view all the answers

    What assumption is commonly held by customers about the software development process?

    <p>Flexibility in software allows changes during development.</p> Signup and view all the answers

    What characterizes poor quality legacy software?

    <p>An inextensible design and convoluted code</p> Signup and view all the answers

    In the context of software engineering, which aspect is highlighted as a myth regarding management?

    <p>Standards and procedures provide all necessary guidance.</p> Signup and view all the answers

    Which statement accurately describes software characteristics in general?

    <p>Software engineering involves a logical development process.</p> Signup and view all the answers

    What is the primary goal of a computer-based system?

    <p>To accomplish a pre-defined goal by processing information</p> Signup and view all the answers

    What is a significant crisis issue mentioned in improving the feedback system?

    <p>High relative cost of hardware and software.</p> Signup and view all the answers

    Which element is NOT considered part of a computer-based system?

    <p>Random data generation</p> Signup and view all the answers

    What does effective documentation in a computer-based system provide?

    <p>Descriptive information explaining system operations</p> Signup and view all the answers

    What is the initial phase of the classical life cycle?

    <p>Customer specification of requirements</p> Signup and view all the answers

    What defines the procedure in a computer-based system?

    <p>The steps that define the specific use of each system element</p> Signup and view all the answers

    What is the primary purpose of having a clear context in system engineering?

    <p>To progressively narrow focus to understand technical details</p> Signup and view all the answers

    Which of the following is NOT a characteristic of hardware in a computer-based system?

    <p>Creating complex algorithms for software logic</p> Signup and view all the answers

    What does data architecture provide for a business?

    <p>A framework for the information needs of a business</p> Signup and view all the answers

    What is a key aspect of a data object in data architecture?

    <p>The attributes that define its quality characteristics</p> Signup and view all the answers

    Which component of business process engineering transforms data objects for business purposes?

    <p>Application architecture</p> Signup and view all the answers

    Which of the following is included in technology infrastructure?

    <p>Telecommunication techniques</p> Signup and view all the answers

    What is an important aspect of system modeling in the engineering process?

    <p>Representing the behavior of processes and assumptions</p> Signup and view all the answers

    Which factor should be considered by an engineer when constructing a system model?

    <p>Assumptions to reduce variations</p> Signup and view all the answers

    What is the primary purpose of data modeling in data processing applications?

    <p>To answer critical questions about data objects</p> Signup and view all the answers

    What does the term 'constraints' refer to in system modeling?

    <p>Guidelines for model creation and implementation</p> Signup and view all the answers

    Study Notes

    Software Categories

    • System Software: A collection of programs designed to serve other programs; examples include compilers, editors, file management systems, operating systems, drivers, and network software.
    • Application Software: Stands alone and solves specific business needs.
    • Scientific Software: A collection of programs for scientific applications.
    • Embedded Software: Resides within a product and provides features and functions for the end user; examples include keyboard control for ovens and digital functions in automobiles like fuel control.
    • Product Line Software: Designed to provide specific capabilities for customers.
    • Web Applications: Linked hypertext files.
    • Artificial Intelligence Software: Employs non-numerical algorithms to solve problems like expert systems and playing games.

    Software Evolution

    • Software constantly evolves regardless of its application domain size or complexity.
    • Common reasons for software evolution include error correction, adaptation to new environments, and incorporating customer-requested features and functions.
    • Manny Lehman developed a unified theory for software evolution:
      • The Law of Continuing Change (1974): E-Type systems require continuous adaptation to maintain their effectiveness.
      • The Law of Increasing Complexity (1974): As an E-Type system evolves, its complexity increases, making maintenance more difficult.
      • The Law of Self-Regulation (1974): The evolution process of E-Type systems is self-regulating, with product and process measures tending towards a normal distribution.
      • The Law of Continuing Growth (1980): E-Type systems need continuous functional expansion to satisfy user expectations over their lifespan.
      • The Law of Declining Quality (1996): E-Type system quality declines unless they are maintained and adapted to environmental changes.
      • The Feedback System Law (1996): E-Type evolution involves multi-level feedback systems and must be treated as such to achieve significant improvements.

    Software Characteristics

    • Software is a logical system, not a physical one.
    • Software is developed or engineered, not manufactured in the traditional sense.
    • Software does not wear out in the same way hardware does.
    • Most software is custom-built, although component-based assembly is becoming more prevalent.

    Software Myths

    • Software development is often surrounded by misconceptions.
      • Management Myths: Standard procedures and documentation can provide everything needed to build software.
      • Customer Myths: General objectives are enough to start programming, with details filled in later. Requirements change constantly, but software's flexibility allows for easy adaptation.
      • Practitioner Myths: Once a program is working, the developers' job is done. The only deliverable for a successful project is a working program.

    Legacy Software

    • Legacy software refers to older programs that have been continuously modified to meet changing business needs and computing platforms.
    • They remain crucial in supporting business functions.
    • Legacy software can have negative qualities including:
      • Inflexible design
      • Poor or lacking documentation
      • Complex code
      • Untracked test cases and results
      • Poorly managed change history

    The Classical Life Cycle

    • A systematic, sequential approach to software development.
    • Begins with defining customer requirements and progresses through planning, modeling, construction, deployment, and ongoing support.

    Computer-Based System

    • A unified set or arrangement of components designed to achieve a specific goal through information processing.
    • The goal might be to support business functions or develop a product for revenue generation.
    • Key Elements of a Computer-Based System:
      • Software: Computer programs, data structures, and related artifacts that define the system's logical methods and procedures.
      • Hardware: Electronic devices providing computational capabilities and interconnectivity (networks, switches, telecommunications devices enabling data flow, electromechanical devices).
      • People: Users and operators of the hardware and software.
      • Database: A large, organized information collection accessed through software.
      • Documentation: Descriptive information explaining the system's use and operation.
      • Procedures: Steps defining how each system component is used.

    The System Engineering Hierarchy

    • Focuses on understanding the context and gradually narrowing the scope to define technical details.
    • Begins with a "world view" of the business or product domain.
    • Refines the view to focus on specific domains of interest.
    • Identifies necessary system elements (data, software, hardware, people) within a specific domain.
    • Initiates analysis, design, and construction of targeted system elements.

    Product Engineering

    • Focuses on translating customer needs into a working product.
    • Drives architecture and infrastructure.
    • Architecture comprises distinct system components (software, hardware, databases, people).
    • Support infrastructure includes technologies to bind components together and documentation for support.

    Business Process Engineering

    • Involves analyzing and redesigning workflows within and between enterprises to optimize processes and automate non-value-added tasks.
    • Introduced by Michael Hammer in 1990.
    • Three key architectures to be considered:
      • Data architecture: Provides a framework for a business's information needs.
        • Data objects represent business elements with specific attributes.
        • Relationships between data objects define how they are connected.
      • Application architecture: Defines elements that transform data objects within the data architecture for specific business purposes.
      • Technology infrastructure: Provides support for data and application architectures.
        • Includes hardware and software like computers, operating systems, networks, storage, and telecommunications technologies.

    System Modeling

    • A crucial aspect of system engineering.
    • Involves creating models that define processes representing the system's behavior.
    • Models capture assumptions governing the behavior and relationships within the system.
    • Engineers consider various factors when constructing models:
      • Assumptions: Simplify the system by reducing possible permutations.
      • Simplifications: Make model creation efficient.
      • Limitations: Define the system's boundaries.
      • Constraints: Guide the modeling process and implementation.
      • Preferences: Indicate preferred architecture for data, functions, and technology.

    Data Modeling

    • Addresses questions related to any data-processing application:
      • What are the primary objects processed by the system?
      • What are the components and attributes of each data object?
      • Where are these objects currently located?
      • What are the relationships between each object and others?

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Lecture 1 ,2 _ 3.ppt

    Description

    Explore the different types of software, including system, application, and scientific software, as well as embedded and AI software. Understand how software evolves to meet business and user needs across various domains. This quiz will test your knowledge about the characteristics and purposes of these software categories.

    More Like This

    Software Evolution and Development
    25 questions

    Software Evolution and Development

    UnquestionableJacksonville avatar
    UnquestionableJacksonville
    Software Evolution and Maintenance
    20 questions
    Software Evolution and Change
    5 questions
    Use Quizgecko on...
    Browser
    Browser