27
I am an IT Software Engineer. Hello !!

I am an IT Software Engineer. Hello !!. L1 : INTRODUCTION Goals of Software Engineering: What IT Demands Today ? IT Products Design Methodologies

Embed Size (px)

Citation preview

I am an IT Software Engineer.

Hello !!

L1 : INTRODUCTIONL1 : INTRODUCTION

Goals of Software Engineering:Goals of Software Engineering: What IT Demands Today ?What IT Demands Today ? IT Products Design Methodologies.IT Products Design Methodologies.

Software Engineering Principles:Software Engineering Principles: What is a Computer Program ?What is a Computer Program ?Von- Neumann Concept forVon- Neumann Concept for Program Execution ?Program Execution ? What is Software ?What is Software ?Well-Engineered Software.Well-Engineered Software.

SummarySummary

GOALS OF SEGOALS OF SE

• The Goals and objectives of SE are to understand the following; SE Basic Principles and System

Modeling Languages and techniques. SE Design Methodologies. Language Developments. Project Planning & Management. Software Quality Assurance -SQA.Software Quality Assurance -SQA. Advances in SE to meet the future IT demands.

What IT Demands Today ?

• Information Technology demands : IT Managers and Coordinators. IT System Designers and Developers. IT Network Managers. Database Designers, Programmers and

Administrators (Oracle, SQL Server). Java , EJB Programmers. WEB, WAP Application Developers. ERP Professionals. Many more New !!

IT PRODUCTS DESIGN TECHNIQUES

• IT Design and Application Environments;

Stand-Alone Applications- No Networking. Client/Server- Oracle with Developer 2000

/Java/VB as Front-end. Three-Tier Architecture -CORBA, EJB. Embedded Applications. System Software. Unix Based Applications. WAP Based Products. Bluetooth Technology Based Products.

What is IT ?

• Information Technology is the technology which deals with the processing of Information using Information Processing Systems (IPS) and transmission of Information from one place to another using Computer Communication System Technology.

The communication technology may use an integration of various types of Telecommunication and Satellite Technologies. The most popular is Internet Technology.

WHAT is a COMPUTER PROGRAM ?

A program is a set of instructions written in a Specific Language, (C/C++, Java and so on ) that when executed provides desired functions and performance using data from its main memory.

What is a Source Program ?

Von-Neumann ArchitectureVon-Neumann Architecture

• A program (EXE file) is stored in main memory A program (EXE file) is stored in main memory by some method and the CPU reads each by some method and the CPU reads each instruction, decodesinstruction, decodes it (understand the it (understand the meaning) and then meaning) and then executesexecutes it under the it under the control of micro-controller inside the CPU.control of micro-controller inside the CPU.

• Each instruction is having an equivalent Each instruction is having an equivalent micro-instruction stored its micro-code in micro-instruction stored its micro-code in Control Memory is fetched for executionControl Memory is fetched for execution.

C.C.

P.P.

U.U.

MAIN MAIN MEMORYMEMORY

AUX.MEMORYAUX.MEMORY

INPUT/OUTPUT

SYSTEM BUS

How EXE CODE is Achieved ?.

PROBLEM PROBLEM

SOURCE CODESOURCE CODE

COMPILER & DEBUGGER

OBJECT CODE

EXE CODEEXE CODE

LINKING TO LIBRARY

• A software may be defined as ;

A collection of such programs for specific application or data structures that enable the programs to adequately manipulate information, with documents that describe the operations and use of the programs.

WELL-ENGINEERED SOFTWAREWELL-ENGINEERED SOFTWARE

• The software is said to be well-engineered if it meets the following criterion;

The Software should be efficient. The Software should be reliable. The Software should be user friendly. The Software should be maintainable.

SUMMARYSUMMARY

• Goals to be achieved in Software Goals to be achieved in Software Engineering.Engineering.

• Demands of IT in future.Demands of IT in future.

• What is Von-Neumann Concept.What is Von-Neumann Concept.

• How Computer Program is DevelopedHow Computer Program is Developed ? ?

• What is a Software ?What is a Software ?

• What are main features of a Well-What are main features of a Well-Engineered Software ?Engineered Software ?

L2: COMPUTER BASED SYSTEMS

• Computer Based SystemsComputer Based Systems..• Defining Software Engineering and CASE Defining Software Engineering and CASE

Tool-set.Tool-set.• Key Elements in Software Engineering.Key Elements in Software Engineering.• Program Design and Development Program Design and Development

Techniques : Six-Step Approach.Techniques : Six-Step Approach.• Software Design Case Studies;Software Design Case Studies;

Computer Based Information Systems. Computer Based Information Systems. (CBIS)(CBIS)

COMPUTER BASED SYSTEMS

• The Computer based systems can be divided into two main engineering disciplines;

• HARDWARE ENGINEERING• SOFTWARE ENGINEERING

What is Hardware Engineering ?

• Hardware Engineering is the branch of Computer Engineering in which the Computer based hardware systems are designed and manufactured using the building blocks of the system such as CPU, motherboards, RAM,ROM,EPROM, CD-ROM, Hard Disks and Drives etc., which are readily available as HARDWARE COMPONENTS.

• Can we develop Software Systems using Software Components ?

• An early definition of Software Engineering was proposed by Fritz Bauer as;

“The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.’’

Software Engineering is the study Software Engineering is the study of the of the PrinciplesPrinciples and and MethodologiesMethodologies for developing and for developing and maintaining Software Systems.maintaining Software Systems.

SOFTWARESOFTWARE ENGINEERINGENGINEERING Software Engineering is the practical

application of Scientific Knowledge in the design and construction of computer programs and associated documentation required to develop, operate and maintain them.

It is also known as Software Development or Software Production.

KEY ELEMENTS

• SE encompasses a set of three key elements:

Software Engineering Methods.Software Engineering Methods. Software Engineering Tools.Software Engineering Tools. Software Engineering ProceduresSoftware Engineering Procedures.

SE METHODS

Methods encompasses a broad array of tasks that include;

Project Planning and Estimation; System & Software Requirements Analysis; Design of Data Structure; Program Architecture; Algorithm Procedure; Coding, Testing and Maintenance.

SE TOOLS-SET

• SE Tools provide Automated or Semi-automated support for design and development of Software Systems.Today tools exists to support each of the methods described earlier.

• When tools are integrated so that information created by one tool can be used by another, such a system for the support of software development, called CASE. (Computer Aided Software Engineering).

What is a CASE Tool ?What is a CASE Tool ?• CASE encompasses a collection of

Automated Tools and Methods that assist software engineering in the phase of software development life cycle.

( J. Sodhi)• Computer Aided Software Engineering is the

term for software tool support for the software engineering processes.

(Sommerville)

• The workshop for software engineering is called an IPSE( Integrated Project Support Environment) and the tool-set that fills the workshop is called CASE. (Pressman).

SE PROCEDURESSE PROCEDURES

• SE procedures are the glue that hold the methods and tools together and they enable rational and timely development of computer software.

• Procedures define the sequence in which the Procedures define the sequence in which the methods will be applied, the deliverables ( source methods will be applied, the deliverables ( source code, documents, reports etc) are required, the code, documents, reports etc) are required, the control that help control that help ensure qualityensure quality and coordinate and coordinate changeschanges and the and the milestonesmilestones that enable managers that enable managers to asses the progress.to asses the progress.

PROGRAM DESIGN AND DEVELOPMENT

DEFINE PROBLEMDEFINE PROBLEM DEVELOP ALGODEVELOP ALGO

CODE THE PROGRAMCODE THE PROGRAMTEST THE PROGRAMTEST THE PROGRAM

DOCUMENTATIONDOCUMENTATION IMPLEMENTATION

COMPUTER BASED INFORMATION SYSTEMS

ACCOUNTING INFORMATION SYSTEM

MANAGEMENT INFORMATION SYSTEM

MATERIAL MANGEMENT SYSTEM

HUMAN RESOURCE MANAGEMENT SYSTEM

KNOWLEDGE-BASED SYSTEM

SUMMARYSUMMARY

• Computer Based System Approach.Computer Based System Approach.• Definitions of Hardware and Software Definitions of Hardware and Software

EngineeringEngineering..• Key Elements- Methods,Tools and Key Elements- Methods,Tools and

Procedures were presented.Procedures were presented.• Six-Step Program Design Six-Step Program Design

Methodology was discussed.Methodology was discussed.