1 / 26

Introduction to Software Engineering

This article provides an introduction to software engineering, including its definition, difference from computer science, and the system development life cycle. It also covers the categories of information systems, system analysis and design methodologies, and organizations as systems.

stim
Download Presentation

Introduction to Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction • Data orientation • Expert systems • AI • distributed systems • parallel programming • Complex and large SW. • SW crises. • Structured programming • Product SW. • Expensive HW. • Custom SW. • Batch execution 1950 1960 1970 1980 1990 2000

  2. Introduction • Software Engineering is concerned with theories, methods and tools needed to develop high qualitysoftware products in a cost effective way. • Cost effective: • limited resources. • Time schedule.

  3. What is software? • Computer programs and associated documentation (e.g. requirements, design models and user manuals) and configuration files. • Software products may be developed for a particular customer or may be developed for a general market. • Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. • Bespoke (custom) - developed for a single customer according to their specification.

  4. What is software engineering? • Software engineering is an engineering discipline that is concerned with all aspects of software production. • Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available.

  5. What is the difference between software engineering and computer science? • Computer science is concerned with theory and fundamentals • Software engineering is concerned with the practicalities of developing and delivering useful software.

  6. System Development Life Cycle

  7. System Development Life Cycle

  8. Software Development Life Cycle • Maintenance is an ongoing process over the system life • 60% of the time is spent on maintenance and 40% on the development • Correct errors • Add new features (business changes) • Adapt to environment changes • Cost of correcting errors increase as you move in the life cycle

  9. Amount of resources consumed over the life cycle

  10. Categories Information systems fall into one of the following eight categories: • Transaction processing systems (TPS). • Office automation systems (OAS). • Knowledge work systems (KWS). • Management information systems (MIS). • Decision support systems (DSS). • Expert systems (ES) and Artificial Intelligence (AI). • Group decision support systems (GDSS) and Computer-Supported Collaborative Work Systems. • Executive support systems (EES).

  11. System Analysis and Design • A systematic approach of: • Identifying problems and opportunities • Analyzing the flow of information in organization • Design computerized system to solve the problem

  12. System Analyst • A problem solver that requires communication skills, management skills and technical skills • An agent of change • Either: • An outside consultant • A supporting expert within the organization

  13. System Analysis and Design Methodologies • Systematic approaches of performing analysis and design • Structured: • Based on showing the flow of data in the organization • Object-Oriented: • Describes the objects interacting in the organization

  14. Organizations as Systems • Interrelated subsystems • Product based • Service based Output input Organization Goals System environment

  15. Organizations • Organizations are composed of interrelated and interdependent subsystems. • System and subsystem boundaries and environments impact on information system analysis and design.

  16. Organizations as Systems • Organization Environment: • Physical • Economical • Political (rules and regulations) • Feedback from environment and inside the organization to control and plan performance • Organization Structure and Culture: • Culture: how people interrelate • Open organization: flow of information within organization • Management levels

  17. Open and Closed Systems Systems are described as either • Open • Free -flowing information. • Output from one system becomes input to another. • Closed with restricted access to information • Limited by numerous rules. • Information on a need to know basis.

  18. Managerial Control • The three levels of managerial control are: • Operations management. • Middle management. • Strategic management. • Each level has: • Different organization structure. • Leadership style. • Technological considerations. • Human interaction. • All carry implications for the analysis and design of information systems.

  19. Virtual Organizations • A virtual organization has parts of the organization in different physical locations. • Computer networks and communications technology are used to work on projects. • Advantages • Reduced costs of physical facilities. • More rapid response to customer needs

  20. Enterprise Resource Planning • Enterprise Resource Planning (ERP) describes an integrated organizational information system. • The software helps the flow of information between the functional areas within the organization.

  21. Project Initiation Projects are initiated for two broad reasons: • Problems that lend themselves to systems solutions. • Opportunities for improvement through • Upgrading systems. • Altering systems. • Installing new systems.

  22. Identifying Problems • Look for situations where the goals of the organization has not been met • Check the output against performance criteria (e.g. errors and slow output) • Observe behavior of employee (e.g. absence, turnover) • Listen to external feedback from customers and vendors

  23. Opportunities for improvement • Speed up a process • Streamlining a process • Combining processes • Reducing errors in input • Reducing redundant storage • Reducing redundant output • Improving integration of systems • Improving workers satisfaction • Improving customer or vendor interactions with the system

  24. Computer-aided software Engineering tools • Software packages that support the software development process • Advantages: • Improves quality and productivity • Facilitate communication among team members and users • Provides continuity between life cycle phases • Facilitate maintenance • But, they should be carefully chosen and staff should be properly trained.

  25. Computer-aided software Engineering tools • May be divided into several categories: • Upper CASE: perform analysis and design • Lower CASE: generate computer source code • Integrated CASE • Other ways of classification • Functional • Breadth

More Related