La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

What is Software Engineering

Presentaciones similares


Presentación del tema: "What is Software Engineering"— Transcripción de la presentación:

1 What is Software Engineering
Software Engineering has 2 main parts: Identification and analysis of problems Synthesis, and Design - construction of the solution to the problem. In identifying and analyzing software problems, we use: methods: elicitation, documentation, prototyping, reviews, etc. business knowledge: domain specific info., business flow, etc. In solving problems software engineering employs: Methodology or Technique: (e.g.) designing, programming, testing, integrating, etc. which are directly related to the end product Tools: (e.g.) development platform, version control, visual diagram, etc. Procedure & Policies: (e.g.) inspection, tracking, metrics, change management, etc. which are indirectly related to the product Process / Paradigm : (e.g.) Waterfall, Spiral, Incremental, etc. which are a combination of methodology,tools, and procedures

2 Software Engineering & Other Disciplines
Software Engineers uses the theories, tools, algorithms, etc. from computer science. Software Engineers uses procedures, techniques, and tools from other disciplines such as management, industrial engineering, and cognitive science. Software Engineers also perform in depth research in some of the above areas themselves. Computer Science Cognitive Science Management Solution for Customer Customer Problem Software Engineering

3 Macro Solution Goals for Software Engineers
Minimize Cost On Schedule Meets (cumple) Functional Requirements Meets Non-Functional Requirements Performance in response time, transaction time, etc. Security New technology Flexibility and Future Maintainability etc. Meets Quality Requirement (really a non-functional requirement) Reliable Available

4 Software Quality Software Quality has been an on-going issue and was the main catalyst that started Software Engineering (late 1960’s) when software application grew: (from simple programs to business systems ---- today; its managing our lives) Larger (more complex) product More complex activities needed More people needed to understand and solve the problem Focus on: Product Quality Process Quality Quality in Business (“technical value” vs “business value”) Future software engineers must understand that investing in software demands a return in value to business --- to make the investment a worthwhile one.

5 We Focus on Both Deliverables (Product) and Process/Methodologies
What are the software deliverables ?: documents (requirements, design, test cases, training material, etc.) code (source code, executables, libraries, initialized data base, test harness, etc.) Will our methodology, tools, process, etc. that we employ produce the deliverables ? : on schedule within cost meets functional requirements meets non-functional requirements

6 Cognizant of Multiple Perspectives Customer, User, and Developer
Customer cares about cost, schedule, and meeting requirements Users care about meeting the requirements with emphasis on learning, usage, & recoverability from problems, etc. Developers care about “meeting”: requirements, schedule, productivity/cost, technical challenges, & other goals/targets. Sometimes Customers and Users are the same group; sometimes the customers, users and the developers are the same group.

7 Two Major Components of SWE (again)
Understanding the Problem (System Approach - Definition) What is the “total” system (hardware; software; business; people; law; technology) What are the boundaries What are the components of the system and how they inter-relate Constructing the Solution (Engineering) Requirements Analysis System Design Program Design Coding Code Integration Testing Product Builds Product Delivery Not all in nice sequence

8 Software Engineering “Team”
Applications Analysts - User Requirements Designers - System and subsystem level solutions Programmers - code level solutions QA &Testers - design and code level defect detection Process and Tool Specialists - version control, configuration management, packaging, process, and metrics Trainers - user, customer & maintenance education Maintenance Support - customer support, product fixes, and future enhancements

9 A Relatively Young Discipline & Has No “Laws” - but
Software Engineering is a young discipline and a continuously evolving one; there are many players in this field. Tony Wasserman’s 8 fundamentals for effective software engineering: (Also, check out Alan Davis’ 15 principles of Software Engineering - in IEEE Software/Nov & his 1995 book) Abstraction : viewing substance in a more “general” way Analysis and Design Methods and Notation : building and communicating models UI Prototyping : constructing parts of the UI to understand user requirements and also to demonstrate feasibility Software Architecture : constructing a set of basic solution units and showing how the units inter-relate Software Process : understanding and applying the “best” development process for the project Reuse : taking advantage of previous work Measurement : devising and quantifying measurement for software engineering Integrating tools : developing integrated development environment and tools for the complete software life cycle

10 Asig #1: 31/Ago/2017 Investigar sobre JIRA:
JIRA es una aplicación basada en web para el seguimiento de errores, de incidentes y para la gestión operativa de proyectos, también se utiliza para la administración de tareas. Instalar y seguir un tutorial

11 Características del Software

12 Tipos de Software Software de aplicación: Son aquellos como Microsoft Word, Power  point, Excel, Outlook, blog de notas, Paint, Etc. Software empotrado: Los que requieren de otro software para funcionar.   Software basado en web: Aquellos que usan los negocios para transacciones (on-line) como: ebay.

13 Tipos de Software Software de inteligencia artificial: Aquellos que se emplean en robots o satélites. Software de tiempo real: Utilizados para chatear como facebook, Hotmail  Messenger, etc. Software de PC: Controladores para computadoras como los drivers de audio, video,   Ethernet, etc. Software de gestión: Programas que manejan gran cantidad de información almacenada como SQL server, MySQL, Oracle, etc.

14 Capas del proceso de desarrollo
Calidad Procesos Métodos Tools Quiénes? Con qué? A través de qué? Cómo? Qué?

15 Qué? Calidad - ¿Qué?: En esta etapa nos limitamos a saber qué es lo que vamos hacer para darle calidad y que tanto se compromete el equipo de trabajo ya que estos serán evaluados por los usuarios finales por lo cual está en juego el prestigio del equipo de trabajo.

16 Cómo? Procesos - ¿Cómo?: Se definen los métodos técnicos a utilizar asegurando la calidad del software formando las bases de control de gestión de proyectos de software estableciendo los hitos.

17 A través de qué? Métodos - ¿A través de qué?: Nos indicará el cómo construiremos el software, a través de qué método. Los métodos pueden ser el Análisis de requisitos, Diseño, pruebas y mantenimiento.

18 Con qué? Herramientas - ¿Con qué?: Utilizamos las famosas herramientas CASE (Computer-Aided Software Engineering) las cuales nos proporcionan un soporte automático o casi automático  para el proceso y los métodos.

19 Quiénes? Quiénes?: Esta etapa se refiere a los usuarios finales que son los que le darán el uso y aprobarán su funcionamiento y eficiencia.

20 Fin


Descargar ppt "What is Software Engineering"

Presentaciones similares


Anuncios Google