¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Software Engineering Web

Thomas Lindblom Computer Science Inglés

Software Engineering Web

Contenido del mapa

Software Engineering Web

  1. What is software?

    • Instructions that when executed provide desired features, function, and performance
    • Data Structures that enable the programs to adequately manipulate information
    • Documentation that describes the operation and use of the programs (or sets of instructions)
    • Software Application Domains (or types of software)
      • System Software
        • operating systems, networking software, compilers etc.
      • Application Software
        • stand-alone programs for specific business need that facilitates business operations
          • something used by a business
      • Engineering/Scientific Software
        • Software used in scientific work. Characterized by number crunching and/or simulation
      • Embedded Software
        • software built into some physical device. Controls functions for end user and system. Ex) microwave, car
      • Product-line software
        • software that satisfies the needs of a particular market. Ex) word processing, databases
      • Web Applications
        • any application hosted on the internet.
          • Characterized by hypertext, graphics, interactive content, database, and business application access
      • Artificial Intelligence Software
        • characterized by non-numerical algorithms to solve complex tasks. Think robotics and pattern recognition
      • Open World Computing
        • pervasive, distributed computing that connects mobile devices, PCs, and enterprise systems via vast networks
      • Netsourcing
        • WWW as computing engine and content provider. Think search engine
      • Open Source Software
        • distribution of source code for systems applications, self descriptive with high quality change management
      • Legacy Software
        • developed a long time and continuously modified to meet changes in business requirements and computing platforms
          • can be costly to maintain an older systems but also very risky to evolve to a new one
  2. Defintion of Software engineering

    • Fritz Bauer (1969)
      • is the establishment and use of sound engineering principles in order to obtain economical software that is reliable and works efficiently on real machines
    • IEEE (1993)
      • the application pf a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. That is the application of engineering principles to software and the study of these principles.
  3. Software Process

    • a collection of activities, actions, and tasks that are performed when a work product is to be created. AKA who is doing what and when and how to reach a certain goal.
      • an activity achieves a broader objective (a set of actions)
      • an action is a set of tasks for a work product
      • a task focuses on the completion of a small well-defined objective
    • Process Framework/Model
      • Framework activities (engineering activities) (many framework activities within one umbrella activity)
        • communication, planning, modeling, construction, deployment
        • task set within each action within one framework activity is decided by the software team based on the problem
        • Generic Process Flows
      • Umbrella Activities (management activities) many within one process framework
        • software project management, risk management, software quality assurance, formal technical reviews, measurement, software configuration management, reusability management, work product preparation and production
      • each the activities within a process resides in a framework or model that defines their relationship with the process and each other
      • Categories of Process Models
        • Prescriptive Process Models
          • defined by a prescribed set of process elements and a predictable process flow
            • highly structured and facilitate coordination and cohesion in software work
            • the rigid structure may not be well suited for a software world generally defined by change
          • Waterfall Model
            • follows a linear process flow
            • ideal when project requirements are well understood and not likely to change
            • assumes all of the skills needed to build the project are available
            • disadvantage is that no working product until the end
          • Waterfall Model with Feedback
            • same basic linear process flow except after each step there are feedback loops to all of the previous steps
          • V- Model
            • analogous linear process flow. Each testing phase (unit testing, integration testing, system testing, acceptance testing) is tied to each of the previous linear framewor activities
            • again no working product until very end
        • Incremental Process Models
          • delivers a series of releases called increments
            • each increment provides progressively more functionality for the customer as each increment is delivered. Each increment adds a feature that is observable by the customer
          • The work for each increment can follow any process flow. However subsequent increments can be started before prior ones finish
            • For example, in a linear process flow during the "Construction" phase of increment #1, the "Communication" phase can occur for increment #2
        • Evolutionary Process Models
          • releases increments similar to the incremental process model, however each increment does not necessarily add a new "feature." The system simply becomes a more complete version of the system. The customer may not notice any difference between two increments as things under the hood may have changed.
          • satisfies the need to introduce limited versions to meet competitive or business pressures
          • accounts for the fact that business and product requirements often change during development. This model explicitly accomodates that evolution
          • Prototyping
            • Rapidly produce prototype to present customer with some idea of what the system might be like
              • this helps to mitigate risks early as customer gets a better idea of requirements
            • Disadvantage is that customer thinks the product is further along than it actual is. They are unaware of shortcuts and compromises under the hood
          • Spiral Model
            • with each spiral the system grows
            • realistic model for large scale systems
            • risk driven process model (uses prototyping) that is used multi stake holder software systems
          • Concurrent Models
            • parallelizes tasks and is ideal for projects involving multiple engineering teams from different disciplines.
              • think embedded software or low level/close to hardware development
          • Drawbacks
            • project planning is hard but its difficult to project the number of cycles needed
            • The speed at which the system evolves is not defined
            • still prioritizes high/quality which sacrifices some flexibility and extrnsibility
    • Process Pattern
      • describes a consistent method for describing problem solutions within the context of a software process
    • Process Assessment
      • attempts to understand the current state of the software process with the intent of improving it
  4. General Principles

    • George Polya (1945) "How to solve it". AKA the essence of problem solving
      • Step 1: Understand the problem (communication and analysis)
      • Step 2: Plan the solution (modeling and design)
      • Step 3: Carry out the plan (generation)
      • Step 4: Examine the result for accuracy (quality assurance)
    • Hooker (1996)
      • KEEP IT SIMPLE STUPID

Imágenes y archivos del mapa

  • Software Engineering Web
  • Software Engineering Web
  • Software Engineering Web

Información

Descripción
Topics in the course
Creado por
Thomas Lindblom · oct 2016
Actualizado
3 feb 2018
Visitas
2
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?