0% found this document useful (0 votes)
9 views3 pages

Software

Uploaded by

ricpogi008
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Software

Uploaded by

ricpogi008
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Software – Computer programs and associated documentation.

Software Engineering - is an engineering discipline that is concerned with all aspects of software production.

 DIFFERENCE BETWEEN CS AND SOFTWARE ENGINEERING

Computer Science - focuses on theory and fundamentals

Software Engineering - concerned with the practicalities f developing and delivering useful software.

 DIFFERENCE BETWEEN SOFTWARE ENGINEERING AND SYSTEM ENGINEERING

System Engineering – System engineering is concerned with all aspects of computer-based systems development
including Hardware, Software and Process engineering.

Software Engineering - is part of this more general process.

Generic Products - Stand-alone systems that are marketed and sold to any customer who wishes to buy them.

Customized Products – Software that is commissioned by a specific customer to meet their own needs.

 ESSENTIAL ATTRIBUTES OF GOOD SOFTWARE

MAINTAINABILITY- Software should be written in such a way so that it can evolve to meet the changing needs of
customers.

EFFICIENCY - Software should not make wasteful use of system resources such as memory and processor cycles.

DEPENDABILITY AND SECURITY- Software dependability includes a range of characteristics Including reliability,
security and safety.

ACCEPTABILITY - Software must be acceptable o the type of users for which it is designed.

 SOFTWARE PROCESS ACTIVITIES

Software SPECIFICATION - where customers and engineers define The software that is to be produced and the
constraints on its Operation.

Software DEVELOPMENT - where the software is designed and Programmed.

Software VALIDATION - where the software is checked to ensure That it is what the customer requires.

Software EVOLUTION - where the software is modified to reflect Changing customer and market requirements.

 GENERAL ISSUES THAT AFFECT SOFTWARE

HETEROGENEITY - Increasingly, systems are required to operate

BUSINESS AND SOCIAL CHANGE – changing incredibly quickly as emerging economies develop

SECURITY AND TRUST - As software is intertwined with all aspects of our lives,

SCALE - Software has to be developed across a very wide range of scales,

 APPLICATION TYPES

Stand-alone applications - These are application systems that run on a local computer

Interactive transaction-based applications - Applications that execute on a remote computer

Embedded control systems - These are software control systems that control

Batch processing systems - These are business systems that are designed to process data

Entertainment systems - These are systems that are primarily for personal use
Systems for modeling and simulation - These are systems that are developed by scientists and engineers

Data collection systems - These are systems that collect data from their environment using a set of sensors

Systems of systems - These are systems that are composed of a number of other software systems.

The Web - is now a platform for running application and Organizations are increasingly developing web-based
systems Rather than local systems.

Web services - allow application Functionality to be accessed over the web.

Cloud computing - is an approach to the provision of computer services where applications run remotely on the
‘cloud’.

 WEB SOFTWARE ENGINEERING

Software reuse - Software reuse is the dominant approach for constructing web-based systems.

Incremental and agile development - Web-based systems should be developed and delivered incrementally

Service-oriented systems - Software may be implemented using service-oriented software

Rich interfaces - Interface development technologies such as AJAX and HTML5

 ISSUES OF PROFESSIONAL RESPONSIBILITY

Confidentiality - Engineers should normally respect the confidentiality of their Employers or clients

Competence - Engineers should not misrepresent their level of competence.

Intellectual property rights - Engineers should be aware of local laws governing the use of

intellectual property such as patents

 PREAMBLE - The short version of the code summarizes aspirations at a high level of the abstraction; The
clauses that are included in the full version give examples and details of how these Aspirations change the
way we act as software engineering professionals
 ETHICAL PRINCIPLES

PUBLIC - Software engineers shall act consistently with the public interest.

CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and
employer consistent with the public interest.

PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest
professional standards possible.

JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.

MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to
the management of software development and maintenance.

PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the
public interest.

COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.

SELF - Software engineers shall participate in lifelong learning regarding the practice
Software Process Model - is an abstract representation of a process.

 MANY DIFFERENT SOFTWARE PROCESSES BUT ALL INVOLVE:

Specification – defining what the system should do;

Design and implementation – defining the organization of the system and implementing the system;

Validation – checking that it does what the customer wants;

Evolution – changing the system in response to changing customer needs.

Plan-driven processes - are processes where all of the process activities are planned in advance and progress is
measured against this plan.

Agile Processes - planning is incremental and it is easier to Change the process to reflect changing customer
requirements.

 SOFTWARE PROCESS MODEL

Waterfall Model Plan-driven model - Separate and distinct phases of specification and development.

Incremental Development - Specification, development and validation are interleaved. May be plan-driven or
agile.

Integration and Configuration - The system is assembled from existing configurable components.

You might also like