From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Systems Analysis and Design: What is it? Systems analysis: the systematic study of the information needs and problems of some organizational domain in.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
Ch 3: Unified Process CSCI 4320: Software Engineering.
MIS 2000 Class 20 System Development Process Updated 2014.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Ch 3 System Development Environment
Chapter 12 Systems Development Three common methods for MIS development: The systems development life cycle (SDLC) Prototyping End-user development Five.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
6.1 Copyright © 2014 Pearson Education, Inc. publishing as Prentice Hall Building Information Systems Chapter 13 VIDEO CASES Video Case 1: IBM: Business.
Fundamentals of Information Systems, Second Edition
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Software Life Cycle Model
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Introduction to Computer Technology
Effective Methods for Software and Systems Integration
CIS 321—IS Analysis & Design
Chapter 2 The process Process, Methods, and Tools
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Chapter 1: Introduction to Systems Analysis and Design
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Systems Analysis and Design in a Changing World, Fourth Edition
Fundamentals of Information Systems, Second Edition 1 Systems Development.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 Implementing Business/IT Solutions.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Data Structures Using C++ 2E
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Phase 3 The Software Requirements Specification. After review of the customer’s System Spec. After educated analysis Preliminary design A technical, software.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
Smart Home Technologies
第 11 組 MIS 報告. Phases of any information system ~ recognition of a business problem or opportunity ~ recognition of a business problem or opportunity.
CSCE 240 – Intro to Software Engineering Lecture 2.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Advanced Software Engineering Dr. Cheng
Object Oriented Systems Design
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Business System Development
Chapter 1 The Systems Development Environment
About the Presentations
Chapter 1 The Systems Development Environment
Software Development Life Cycle (SDLC)
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Chapter 12 Implementing Business/IT Solutions.
Software life cycle models
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Chapter 1: Introduction to Systems Analysis and Design
What Is Good Software(Program)?
Chapter 1 The Systems Development Environment
Presentation transcript:

From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less Is it doable?  Technically  On time  Under budget Modified from Buckley

Remember, Reality is NOT what we might wish it to be! Economic Political Technical Where is the BEST Solution?

Now the team has to decide: Software Architecture  Object Oriented?  Structured?  Database Oriented (Informational Flow)? Major Modules including utilities Modified from Buckley

Phase II – What happens next! Documenting the development approach  Top Level Design Document  Detailed Design Documents per module  Test Procedure  User and Technical Manuals (C) Buckley

What happens next! Top-Level Design is possible TLDD – Top Level Design Document Structure Charts / Object Charts Major Module Interfaces  module-to-module  hardware to software  drivers to control Modified from Buckley

The “Approach” Software Development Methodology  Waterfall  Staged / Evolutionary Integration Thread – what gets built and tested first  Development order  Parallel development explored What can or should be Prototyped Delivery Schedule

Integration Thread Approach “Big Bang Approach – Design everything at once. – Then code everything. – Then try to integrate and debug. – A gazillion errors – No adaptation to changing requirements – Some errors require re-design, not just recode © Buckley

Integration Thread Design and develop a single function “core” Must represent fairly the entire known system Must be capable of driving…. © Buckley

Structured Design

Supervisory Requirement

Programming for Structured Design Single-context – only one thing runs at a time If multiple context is needed (6 joints), each must be tracked and kept separately Supervision must jump between them on an adaptable schedule Re-use is limited to duplicate / redundant code All code is created at once, persists until the end Communication between modules does not exist – info is passed, held, then accessed in three steps

Programming for Structured Design Well used modules require a high-degree of customization (control coupling) A structured approach to designing software involves breaking the problem at hand into algorithms, formulas, and procedures that sufficiently describe the designer’s view of a system It depends upon the designer’s ability to cover the problem with a solution based on computer storage, mathematical operations, and the correct sequence and timing of calls to subroutines that each perform smaller steps.

Programming for Structured Design In structured programming, the designer has at his disposal only four operations, or algorithms:  concatenation (the serial execution of lines of code in order)  iteration (repeated execution of small steps in order to accomplish a larger task, as in a for-loop)  alternation (a yes/no decision, as in an “if” statement)  transfer of control (a supervisory decision to jump to a subroutine based on conditions). Data structures – records and arrays – help in organizing the storage and presentation of data. Memory and I/O ports query the environment and deliver results to users.

The Shoulder Joint

Consolidate Effort Across 6

6 “States” must be kept

Object Oriented Design

Looks Like the Problem Space

Object Oriented Design Those tasks are objects, and they exist concurrently and are simultaneously persistent. They each operate independently of the system, yet have access to the system’s collective resources. They have a known, dependable interface – or contract – with the system to provide responses to stimuli in a dependable form.

Object Oriented Design Their creation and destruction, activation and sleep are, at the control of the designer. They have a capability that no structured module can approach: their exact form, their behavior, the domain in which they operate, and their use of system resources can be customized at run-time. They are perfectly suited to model complex, large, real world problems and systems.

Object Oriented Philosophy  Object Oriented design represents a philosophical difference from structured design.  OO Design is one of independence of function rather than supervisory control. Objects operate as small, independent computers; each with a specific job to do when the environment in which they operate presents the proper stimulus.  The major design task in an object-oriented architecture is inter-object communication and the coordination of independently running “computers” to collectively perform a coherent function. It more closely resembles the real world.

The Robot Joint Class

A Reduced Programming Task All of the effort goes into a well-designed Joint Class Reduced programming time Extended utility of each Joint The maintainability of a program is related to its complexity.  Complexity is not dependent on size but is based on the decision structure of the program.  One of the reasons that maintenance costs are high is that the structure of the system, which has to be modified, is non- existent, either through lack of design, indirect implementation, or the effects of continuing changes.

OO is a Run-Time Philosophy OO extends beyond the use of Inheritance, Polymorphism, and Encapsulation during programming. OO involves the run-time advantages of concurrency, persistence, selective activation and deactivation, and independence of instances.