MD240 Software for Designing and Developing New Software - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

MD240 Software for Designing and Developing New Software

Description:

Building Computer Programs. System development programs ... Computer-Aided Software Engineering (CASE) ... Computer code was difficult to re-use. Software ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 37
Provided by: hksargov
Category:

less

Transcript and Presenter's Notes

Title: MD240 Software for Designing and Developing New Software


1
MD240Software for Designing and Developing New
Software
2
Agenda
  • Evolution of Programming
  • History of the Programming Process
  • Software Application Frameworks
  • Object Oriented Programming
  • Visual Programming
  • Internet Programming

3
Evolution of Programming
TREND Evolution from painful command-line
compilers, to simple integrated development
environments (IDEs), to multiple-desktop
integrated IDEs
TREND Evolution from costly programming tools to
freely available open source development tools.
4
Evolution of Programming Languages
  • Evolution of Programming Languages
  • Machine language 0-1 long difficult
    programming
  • Assembly language assemble repetitive
    instructions, shorter code
  • Procedural language include commands, shorter
    code
  • Non-procedural languages application
    generators commands specify results
  • Intelligent languages natural language
    processing

5
Building Computer ProgramsVarious Ways of
Running Programs
  • Interactive
  • user types in one command at a time and the
    compiler executes it
  • Batch
  • collection of commands in a file (.bat), executed
    sequentially
  • Interpreted
  • scripted program contained in a text file,
    compiled and executed on-the-fly, but not stored
    on the computer as an executable file
  • Java (Object Code)
  • generically compiled code that runs in a Java
    Virtual Machine (JVM)
  • .NET Intermediate Language
  • generic C program compiled down to machine code
    at run-time
  • Compiled
  • compiler translates program into object code,
    links object code into a program made up of
    machine-level code, and stores this as an
    executable file

6
History of the Programming Process
TREND Evolution from direct manipulation of
machine via machine language, to procedural
languages, to object-oriented languages
TREND Evolution from command-line programming
tools to integrated suites of windows-based tools
7
The Olden Days
8
Examples of Early Programming
  • Machine Language
  • 01001010
  • 00011100
  • Assembly Code (explicit instructions sent to
    registers and interrupts)
  • mov DX, 0
  • mov AH, 0
  • mov AL, 0fh
  • int 17h
  • int 20h
  • Procedural Code (ex C)
  • include ltstdio.hgt
  • main()
  • printf(Hello, World!\n)

9
Building Computer Programs
  • System development programs
  • translate user computer programs written in
    source code into object or machine code
  • compiler creates object code
  • linker links object code together to create
    executable machine code
  • debugger identifies program syntax errors
  • interpreter compiles and executes program code
    without creating an executable file

10
Examples of Early ProgrammingText Editor and
Command-Line Compiler
Text Editor
Compiler Linker
11
Examples of Early ProgrammingInterpreter
12
Later Programming
  • Integrated Development Environments (IDE)
  • Introduced during mid- to late-1980s, when
    windowing systems (such as MS Windows 3.0) became
    available
  • Integrated the editing/programming, compiling,
    linking, debugging into one application
  • Improved programmer productivity

13
Integrated Development EnvironmentPython IDE
Interpreter or Compiler Debugger
Text Editor
14
Modern Programming Environments
15
Computer-Aided Software Engineering (CASE)
  • A tool for programmers, systems analysts,
    business analysts, and systems developers to help
    automate software development
  • A combination of software tools and structured
    software development methods
  • CASE tools help to improve software quality

16
Advantages of CASE Tools
  • Improves productivity
  • Results in better interaction among users and
    information systems professionals
  • Makes easier to create prototypes
  • Makers easier to make system design changes as
    circumstances change

17
Categories of CASE Tools
  • Upper CASE (U-CASE)
  • focus primarily on the design aspects of systems
    development
  • Lower CASE (L-CASE)
  • helps with programming and related activities
  • Integrated CASE (I-CASE)
  • incorporates both U-CASE and L-CASE functionality
    and provide support for many tasks throughout the
    SDLC

18
CASE ToolsVisual Basic IDE
Blank Application
Controls (objects)
Object Attributes to Edit
19
CASE ToolsNetBeans IDE (for Java)
20
Software Application Frameworks
TREND Software is evolving from stand-alone
applications built from the ground up, into
modern applications build upon frameworks of
existing objects (program code)
21
Software ApplicationsHistory
  • Historically, applications were built from the
    ground up
  • The operating system did not provide resources
    that could be re-used
  • Computer code was difficult to re-use

22
Software ApplicationsFrameworks
  • Today, many companies and open source projects
    have developed frameworks of software objects
    upon which software applications are built
  • Microsoft .NET Framework
  • Eclipse Framework (eclipse.org/IBM)
  • NetBeans (J2EE) Framework (netbeans.org/SUN
    Microsystems)
  • Gnome Framework
  • KDE Framework

Programs Run On Windows Only Java (Any OS) Java
(Any OS) Linux/BSD Linux/BSD
23
Software Application FrameworksThree Levels of
Software
J2EE/XML JMS, MQSeries, etc.
.NET/XML, J2EE/XML JMS, MQSeries, etc.
Message Passing Between Platforms
3
Synchonizing Applications
Groove
DCOM, CORBA, Java RMI, JINI
CORBA, Java RMI, JINI
Distributed Object Model
2
Application Level
MS Office, WordPerfect Office, Lotus SmartSuite
OpenOffice
Individual Applications
DOS command line, Windows 1, 2, 3, 3.1, Many
others
Desktop Environment
MS Windows 95
GNOME, KDE (Unix/Linux) Aqua (Mac)
Object Model for GUI Properties
COM/COM OLE
X-Windows, GNOME, KDE OpenDoc
1
Operating System
Unix, Linux, MacOS X
DOS
MS Windows 95
24
Object Oriented Programming
TREND CASE tools are used to build applications
from objects.
25
New Programming ConceptsObject Orientation
  • Object-Oriented Programming Languages
  • Object
  • models things in the real world
  • Class
  • a template or general framework that defines the
    methods and attributes to be included in a
    particular type of object
  • Message passing
  • allows objects to interact with each other
  • Encapsulation
  • inaccessibility of data in an object
  • Inheritance
  • define a class of objects as a special case of a
    more general class
  • Polymorphism
  • send the same message to several different
    receivers (objects)

26
New Programming ConceptsObject Orientation
  • The Spread of Object Orientation
  • OOA object oriented analysis
  • OOD object oriented design
  • OOP object oriented programming
  • MFC Microsoft Foundation Classes (objects for MS
    Windows)
  • DOM document object model
  • COM/COM component object model (for
    applications)
  • DCOM distributed component object model
    (networked applications)
  • CORBA common object request broker architecture
  • JINI Suns Java object architecture
  • IIOP Internet inter-ORB protocol

27
Visual Programming
TREND CASE tools utilize visual programming.
Visual techniques are growing due to their ease
of understanding, and higher programmer
productivity.
28
New Programming LanguagesVisual Programming
  • Visual Programming Languages
  • program within a graphical environment called an
    integrated development environment (IDE)
  • allows developers to create applications by
    manipulating graphical images directly
  • drag and drop objects or controls onto a
    blank form
  • many third-party suppliers of objectpackages
  • edit object attributes
  • generate interpreted or compiled applications

29
New Programming LanguagesVisual Programming
  • Examples of Visual Programming Environments
  • DELPHI
  • CA Visual
  • Power Objects
  • VisualStudio.NET
  • Visual Basic
  • Visual C
  • Visual J
  • Visual FoxPro
  • Visual InterDev
  • ActiveState Visual Perl (works with MSs .NET
    architecture)
  • ActiveState Visual Python (works with MSs .NET
    architecture)

30
Internet Programming
TREND Internet programming has gone through the
same types of stages as application programming.
Advanced CASE tools are now available for
developing Internet-based applications.
31
Internet-Oriented LanguagesMarkup Languages
  • Hypertext Markup Language (HTML)
  • standard language the Web uses for creating and
    recognizing hypermedia hypermedia
  • hypertext an approach to data management in
    which data area stored in a network of nodes
    connected by links (called hyperlinks)
  • uniform resource locators (URLs) represent
    hypermedia links and links to network service
    within HTML

32
Internet-Oriented LanguagesMarkup Languages
  • Extensions to HTML
  • CSS - cascading style sheets
  • DHTML - dynamic HTML
  • XHTML - next generation HTML
  • SMIL (smile) - graphical layout
  • WML - WAP markup language

33
Internet-Oriented LanguagesMarkup Languages
  • Virtual Reality Modeling Language (VRML)
  • a file format for describing three-dimensional
    interactive worlds and objects
  • represent static and animated objects
  • have hyperlinks to other media such as sound,
    video, and image

34
Internet-Oriented LanguagesMarkup Languages
  • eXtensible Markup Language (XML)
  • document delivery across the Net, usually a B2B
    transaction
  • organizations agree on an XML structure to
    exchange data
  • document type definition (DTD) specifies XML
    structure

35
Internet-Oriented Languages Scripting Languages
  • WWW Scripting Languages
  • Not compiled (JSPs and ASPXs are exceptions)
  • Interpreted and executed when called by a Web
    Server, sometimes run in a virtual machine
  • Used to build dynamic web sites
  • Link web page front end to database back end
  • you store SQL code within template file of
    scripts/HTML
  • when page requested, transactions performed with
    database or other applications on server
  • result of transaction translated into HTML, which
    server sends to your WWW browser

36
Internet-Oriented LanguagesScripting Languages
  • WWW Scripting Language Examples
  • Perl (.pl)
  • Python
  • Tcl/Tk
  • JavaScript
  • VBScript
  • Active Server Pages (.asp, .aspx)
  • Cold Fusion (.cfm)
  • PHP (Personal Hypertext Processor)
  • probably most common world-wide
  • open source works with UNIX/Linux and open
    source databases
  • Java Server Pages (.jsp)
  • AOLserver Data Pages (.adp freeware, used to
    build Netscape.com and AOL.com)
Write a Comment
User Comments (0)
About PowerShow.com