Software Engineering Principles - Data Structures - Lecture Slides, Slides of Data Structures and Algorithms

In the subject of the Data Structures, the key concept and the main points, which are very important in the context of the data structures are listed below:Software Engineering Principles, Problem Analysis, Requirements Elicitation, Software Specification, High- and Low-Level Design, Implementation, Testing and Verification, Delivery, Operation, Maintenance

Typology: Slides

2012/2013

Uploaded on 04/23/2013

saratey
saratey 🇮🇳

4.3

(10)

86 documents

1 / 54

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter 1
Software Engineering Principles
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36

Partial preview of the text

Download Software Engineering Principles - Data Structures - Lecture Slides and more Slides Data Structures and Algorithms in PDF only on Docsity!

Chapter 1

Software Engineering Principles

  • Lecture

Waterfall Model

Spiral Model

  • A logical sequence of discrete steps that describes a complete solution to a given problem computable in a finite amount of time

An Algorithm Is...

  • Hardware
    • the computers and their peripheral devices
  • Software
    • operating systems, editors, compilers, interpreters, debugging systems, test-data generators, and so on
  • Ideaware
    • shared body of knowledge

Programmer ToolBoxes

  • Tells what the program must do, but not how it does it
  • Is written documentation about the program

Detailed Program Specification

  • A model of a complex system that includes only the details essential to the perspective of the viewer of the system
  • Programs are abstractions

Abstraction

  • The practice of hiding the details of a module with the goal of controlling access to the details from the rest of the system
  • A programmer can concentrate on one module at a time
  • Each module should have a single purpose or identity

Information Hiding

  • A problem is approached in stages
    • Similar steps are followed during each stage, with the only difference being the level of detail involved
  • Some variations:
    • Top-down
    • Bottom-up
    • Functional decomposition
    • Round-trip gestalt design

Stepwise Refinement

Visual Aids – CRC Cards

  • “Read the specification of the software you want to build.
  • Underline the verbs if you are after procedural code,
  • the nouns if you aim for an object-oriented program.”

Grady Booch, “What is and isn’t Object Oriented Design,” 1989.

Procedural vs. Object-Oriented Code

Functional Design Modules

Find Weighted Average

Print Weighted Average

Main

Print Data

Print Heading

Prepare File for Get Data

Reading

  • A technique for developing a program in which the solution is expressed in terms of objects - self- contained entities composed of data and operations on that data

Object-Oriented Design

Private data

<< setf

.. .

Private data

get .. . ignore

cin cout