Information Technologies Fundamentals: Musalasoft
Information Technologies Fundamentals: Musalasoft
Information Technologies Fundamentals: Musalasoft
Information Technologies
Fundamentals
Agenda
• What is Software?
• Software Types
• Software Development Process
• Software Architectures
• Our Expertise
– Enterprise Application Integration
– Portal Solutions
– Quality Assurance Automation
Information Concepts
Information System
• Midrange computers: Less powerful, less expensive, and smaller than a mainframe
• Specification
– Specification is the task of precisely describing the software to be written,
in a mathematically rigorous way. In reality, most successful specifications
are written to understand and fine-tune applications that were already
well-developed. Specifications are most important for external interfaces,
that must remain stable.
• Testing
– Testing of parts of software, especially where code by two different
engineers must work together, falls to the software engineer.
• Documentation
– An important (and often overlooked) task is documenting the internal
design of software for the purpose of future maintenance and
enhancement. Documentation is most important for external interfaces.
• Maintenance
– Maintaining and enhancing software to cope with newly discovered
problems or new requirements can take far more time than the initial
development of the software. Not only may it be necessary to add code
that does not fit the original design but just determining how software
works at some point after it is completed may require significant effort by a
software engineer.
SDP Models
Waterfall processes
• The best-known and oldest process is the waterfall model, where developers
(roughly) follow these steps in order. They state requirements, analyze them,
design a solution approach, architect a software framework, develop code,
test, deploy, and maintain.
Iterative processes:
• Iterative development prescribes the construction of initially small but ever
larger portions of a software project to help all those involved to uncover
important issues early before problems or faulty assumptions can lead to
disaster.
• Agile software development -Agile processes use feedback, rather than
planning, as their primary control mechanism. The feedback is driven by
regular tests and releases of the evolving software.
• Extreme Programming, XP - The (intentionally incomplete) first pass through
the steps might take a day or a week, rather than the months or years of each
complete step in the Waterfall model. First, one writes automated tests, to
provide concrete goals for development. Next is coding (by a pair of
programmers), which is complete when all the tests pass, and the
programmers can't think of any more tests that are needed. Design and
architecture emerge out of Refactoring, and come after coding.
SDP Models
Rapid application development
• The methodology involves iterative development, the construction of
prototypes, and the use of Computer-aided software engineering (CASE)
tools. Traditionally the rapid application development approach involves
compromises in usability, features, and/or execution speed
Spiral model
• A software development process combining elements of both design and
prototyping-in-stages, in an effort to combine advantages of top-down and
bottom-up concepts.
SDP Models
• Bottom Up
• Chaos model
• Evolutionary prototyping
• Prototyping
• Top-Down Model
• V model
Software Architectures
There are many common ways of designing computer software modules and
their communications, among them:
This multitiered architecture has middle layers for servicing Web page
requests and for providing services to link user clients with a back-end layer
of corporate systems and their data. In this particular architecture, the
application server runs on its own dedicated hardware.
Enterprise application integration
Steps:
• Recording of user actions into scripts
• Modification of scripts to include specific
cases
• Execution of recorded scripts
• Analysis of results – passed/failed tests
Rational Functional Tester Example
• Every UI object is stored in
object map
Q&A