SOFTWARE DEVELOPMENT LIFE CYCLE

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

Waterfall Model H.M.Shahzad MS(CS) from COMSATS Institute of Information Technology, Lahore.
7-1 INTRODUCTION: SoA Introduced SoA in Chapter 6 Service-oriented architecture (SoA) - perspective that focuses on the development, use, and reuse of.
8.
Technical Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Distributed Systems Architectures
Distributed Information Systems - The Client server model
Chapter 9: The Client/Server Database Environment
Chapter 2 Database Environment Pearson Education © 2014.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
The Design Discipline.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Slide 1 Physical Architecture Layer Design Chapter 13.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
ISYS 562 Microcomputer Business Applications David Chao.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Position Paper How should the business logic be developed? As middle-tier application? or as a DBMS stored procedures? Akash Sharma Hiren Nagar.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Chapter 2 Database Environment.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
WATERFALL METHOD Robbie Campbell WHAT IS IT  Considered the classic approach to the SDLC.  It is a linear method with goals for each development phase.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
A service Oriented Architecture & Web Service Technology.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Software Hardware refers to the physical devices of a computer system.
Business System Development
CompSci 280 S Introduction to Software Development
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
N-Tier Architecture.
Chapter 2 Database System Concepts and Architecture
The Client/Server Database Environment
SOFTWARE DESIGN AND ARCHITECTURE
The Software Development Cycle
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
MVC and other n-tier Architectures
Software Design and Architecture
Part 3 Design What does design mean in different fields?
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
Chapter 9: The Client/Server Database Environment
#01 Client/Server Computing
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 Database Environment Pearson Education © 2009.
Data, Databases, and DBMSs
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Database Environment Transparencies
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 1 Introduction(1.1)
Lesson 1 Understanding Software Quality Assurance
Rapid software development
#01 Client/Server Computing
The Software Development Cycle
Presentation transcript:

SOFTWARE DEVELOPMENT LIFE CYCLE PROF. S. LAKSHMANAN, DEPT. OF B. VOC. (SD & SA), ST. JOSEPH'S COLLEGE.

AGENDA SDLC 1 3-Tier Architecture 2 Coding 3 Project Execution 4 5

PRINCIPLES OF SOFTWARE ENGINEERING Software Engineers 

Software Engineering Software Engineers Software engineering is the study and application of engineering to the design, development and maintenance of project. Software Engineers  Software engineers apply the principles of engineering to the design, development, maintenance, testing, and evaluation of the software and systems that make computers or anything containing software work.

STEPS IN SOFTWARE ENGINEERING Software Requirements Analysis Design Construction Testing Maintenance

SOFTWARE REQUIREMENTS Client requirements say what the software should do. ANALYSIS Involves carrying out detailed study of the customer requirements and arriving at the exact requirements of the proposed system. DESIGN Involves translating the identified requirements into a logical structure that can be implemented in the programming logic. Flowchart: Proposed system full project flow Mock-ups: Screens involved and its structural design

CONSTRUCTION After the design phase is done, each component (part) of the software is coded. Code is what tells the computer exactly what to do at each step. TEXT EDITOR Usually part of an IDE - Integrated Development Environment TESTING Testing is done to see if the components meet the requirements and that the system as a whole meet the goal, by a finite set of test cases against the domain behaviour. MAINTENANCE Part or all of this process can repeat if bugs are found or new requirements are needed.

WATERFALL MODEL In a waterfall model, each phase must be completed fully before the next phase can begin. In waterfall model phases do not overlap.

When To Use The Waterfall Model This model is used only when the requirements are very well known, clear and fixed. Product definition is stable. Technology is understood. There are no ambiguous requirements Ample resources with required expertise are available freely The project is short.

AGILE MODEL In Small Incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications.

WHEN TO USE AGILE MODEL When new changes are needed to be implemented. The freedom agile gives to change is very important. New changes can be implemented at very little cost because of the frequency of new increments that are produced. To implement a new feature the developers need to lose only the work of a few days, or even only hours, to roll back and implement it.

3- TIER ARCHITECTURE

What is 3-Tier Architecture A three-way interaction in a client/Server environment The User Interface is stored in the Client. The Business Application Logic is Stored in one or more Servers. The Data is Stored in a Database Server.

EVOLUTION TO THE 3-TIER ARCHITECTURE Single Tier Dual Tier 3-Tier … N-tier Tiers we are going to study

SINGLE TIER ARCHITECTURE Time of Huge “Mainframe” All Processing in Single Computer All Resources Attached to the same Computer Access Via Dumb Terminals

Single Tier – Advantages & Disadvantages Simple Efficient Uncomplicated Disadvantages Very Expensive

DUAL TIER ARCHITECTURE The Personal Computer Necessity of Providing Personal Software The Client Server Model was Born!! Logical System Components – Most of which are on the Client

Dual Tier – Advantages & Disadvantages Less Expensive than Mainframe Disadvantages The Connections to the Database Server are very Expensive One can only connects a limited number of users to a server before Database Server spends more time managing connections than processing requests Cost-ineffective. Many users only use their connections 2-3% of the time.

3-TIER ARCHITECTURE These Applications runs on the Traditional Client/Server Model But from a Application server. Client only Displays the GUI and data, but has no part in producing results Database Server Serves to few Connections

3-Tier Advantages Scalability The Application Servers can be deployed on many machines The Database no longer requires a connection from every client. Reusability If a standard object is employed, the specific language of implementation of middle tier can be made transparent. Data Integrity The middle tier can ensure that only valid data is allowed to be updated in the database.

Improved Security Since the client doesn’t have direct access to the database, Data layer is more secure. Business Logic is generally more secure since it is placed on a secured central server. Reduced Distribution Changes to business logic only need to be updated on application servers and need not to distributed on clients Improved Availability Mission Critical Applications can make use of redundant application servers and redundant application servers, so it can recover from network of server failures.

3-Tier Disadvantages Increased Complexity / Effort In General 3-tier Architecture is more complex to build compared to 2-tier Architecture. Point of Communication are doubled.

3-TIER APPLICATION IN JSP WITH JAVA The Program is organized into three major distinctive tiers or layers: Presentation Layer (User Interface) Business Layer (Business Access Layer) Data Layer (Data Access Layer)

Client Requirement   I am running a Software company and the business involves giving employee details and returns as employee information. I need an application for managing my business systematically. The basic requirement of this project, Employee details. Employee report – full view

USER INTERFACE LAYER

PRESENTATION LAYER

BUSINESS ACCESS LAYER

DATA ACCESS LAYER

Thank You.