PROG 24178 Developing Robust Modular Software.. Objectives What do we want? Programmatic Elements in a Business System. Logic Layer. Persistence (Data)

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Introduction to Programming Using simple games to convey introductory concepts MERLOT International Conference 2004 Tracey Jensen Assistant Professor,
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Programming Creating programs that run on your PC
IS6112 Application Modelling and Design Introduction.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Overview. Why data structures is a key course Main points from syllabus Survey Warmup program And now to get started...
Object-Oriented Enterprise Application Development J2EE Blueprints.
Progress Report 11/1/01 Matt Bridges. Overview Data collection and analysis tool for web site traffic Lets website administrators know who is on their.
Fundamentals of Information Systems, Second Edition
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Lecture Notes 8/30/05 Program Design & Intro to Algorithms.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
Design, Implementation and Maintenance
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models.. Understand the concept of modularity.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
EECE 310 Software Engineering Lecture 0: Course Orientation.
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
CS 425/625 Software Engineering Legacy Systems
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
BTEC Unit 06 – Lesson 08 Principals of Software Design Mr C Johnston ICT Teacher
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Generic API Test tool By Moshe Sapir Almog Masika.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
Ceg860 (Prasad)L1SQ1 Software Quality Object-Oriented Programming Paradigm.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Systems Analysis and Design
The Systems Development Life Cycle
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Developing Business/IT Solutions Chapter 12 McGraw-Hill/IrwinCopyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
The Software Development Process
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Week 1 -Introduction IT2005 System Analysis & Design.
WHAT IS PHP FRAMEWORK? Set of Classes and Functions(Methods) Design for the development of web applications Provide basic structure Rapid application development(RAD)
Software Quality Assurance and Testing Fazal Rehman Shamil.
The Hashemite University Computer Engineering Department
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
MANAGEMENT INFORMATION SYSTEM
Information Systems Development
Principles of Information Systems Eighth Edition
EGR 115 Introduction to Computing for Engineers
System Design, Implementation and Review
The Development Process of Web Applications
The Software Development Cycle
Developing Information Systems
Software Development CMSC 202.
Information Systems Development
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
IT2005 System Analysis & Design
Introduction Time is something we waist as a society
The Software Development Cycle
Presentation transcript:

PROG Developing Robust Modular Software.

Objectives What do we want? Programmatic Elements in a Business System. Logic Layer. Persistence (Data) Layer. Presentation Layer.

What does a customer want from a program? What does a customer want out of a program? (Class Discussion).

Coding can’t do it all for us? The maintainability of a program is tied closely to system and software design not coding. The reliability of a program cannot be confirmed without testing. The usability of a program is tied to the user interface design. The speed or throughput of a program is a function of design, coding, hardware.

Why are we here? We are going to learn how to use standard programming procedures and object-oriented techniques to deliver a maintainable and reliable program to satisfy well specified user requirements.

What does this involve? Object-Oriented Concepts. Understanding the object-oriented concepts helps us design better systems. Programming Algorithms. There are standard algorithms (recipes) for solving specific types of problems. The Java Syntax and API. Testing Techniques. You cannot be sure your system is reliable if it hasn’t been tested.

But I thought this was a Java Course. NO! It is not. It is the concepts, techniques and patterns that are more important. The same course could be taught with C# and Objective-C. The knowledge of how to implement an OO solution for a user problem is transferable to C# and Objective-C.

Components of a User Solution. Logic (Business Logic). Logic relating to actual business operation. When a customer transfers an amount from one account to another account, subtract transfer-amount and service charge from first account and add transfer-amount to second account. Data (Persistence). Important operations must be recorded so that they are retained even after program stops. Could be in a file or in a database. Presentation. Typically a pleasant and effective user interface must be provided so the data can be input and displayed.

Mixing The Elements. SYSTEM Module

Mixing The Elements Maintenance is difficult. If there is a change request or bug fix finding the logic is more difficult. This also goes for finding the Persistence and Presentation Code. Since Logic, Persistence and Presentation is tightly bound changing one might break the other.

Layering The Elements. SYSTEM Module

What we will learn. Weeks 1-7 The Logic Layer Important Object-Oriented concepts. syntax and APIs to help code the business logic of a program. Common tools to help with testing Object-Oriented programs. Weeks 8-14 Persistence and Presentation Concepts, syntax and APIs to help code the presentation and persistence layers. Final Project. Array-Handling.

Course Structure Outline and Class Plan. Evaluation and Plagiarism. Course website. Preferred Contact procedures.