DOC PREVIEW
DREXEL CS 451 - _L1 -- SoftEngDiscipline

This preview shows page 1-2-19-20 out of 20 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1What is Software Engineering (SE)?What is Software Engineering? (cont’d)What is Software Engineering? (cont’d)What is Software Engineering? (cont’d)What is Software Engineering? (cont’d)What is Software Engineering? (cont’d)Why is Software Engineering Important?Why is Software Engineering Important? (cont’d)Putting things in perspective…Putting things in perspective… (cont’d)Major Software Engineering ActivitiesMajor Software Eng. Activities (cont’d)Major Software Eng. Activities (cont’d)Major Software Eng. Activities (cont’d)Major Software Eng. Activities (cont’d)About programming…About programming… (cont’d)Professional and Ethical ResponsibilityProfessional and Ethical Responsibility (cont’d)CS 451Software EngineeringThe Software Engineering Discipline 1What is Software Engineering (SE)?Some useful definitions from the Software Engineering Institute, http://www.sei.edu/about/overview/whatis.html•The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines.[F.L. Bauer. Software Engineering. Info. Processing 71., 1972]2What is Software Engineering? (cont’d)•Software engineering. (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).[IEEE Std 610-1990, http://grouper.ieee.org/groups/610/p610.html] 3What is Software Engineering? (cont’d)•Software engineering is the technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost estimates.[R. Fairley. Software Engineering Concepts. McGraw-Hill, 1985] 4What is Software Engineering? (cont’d)•Software engineering is the computer science discipline concerned with developing large applications. Software engineering covers not only the technical aspects of building software systems, but also management issues, such as directing programming teams, scheduling, and budgeting. [http://www.webopaedia.com/TERM/S/software_engineering.htm]5What is Software Engineering? (cont’d)•Engineering is the systematic application of scientific knowledge in creating and building cost-effective solutions to practical problems in the service of mankind. Software engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems. [Software Engineering Institute Report on Undergraduate Software Engineering Education, CMU/SEI-90-TR-003]6What is Software Engineering? (cont’d)•Computer science is a broad discipline that (a) studies the necessary mathematical and scientific theory required to create correct and efficient algorithms for manipulating information, and (b) designs and develops systems that implement the algorithms in (a).•The Association of Computing Machinery (ACM) and the IEEE Computer Society consider Software Engineering as one of the core areas of Computer Science (others being Algorithms and Data Structures, Computer architecture, Artificial Intelligence and Robotics, etc.)7Why is Software Engineering Important?•Computers and many things enabled by them are all around us! (A lot is not visible to us, like the programs that keep our telephones and power systems working, or the programs that fly commercial planes.)•The software development industry is significant with over $500 billion spent worldwide each year on developing and maintaining software systems. The economic implications of producing quality software systems in a cost effective way are enormous.8Why is Software Engineering Important? (cont’d)•Some software systems are very complex; they simply can’t be implemented without sound engineering principles. •Failure of software systems that are critical in nature can have catastrophic results.•Software complexity and development costs are likely to increase in the future.9Putting things in perspective…10Categories Tree House Offi ce BuildingEffort RequiredOne or two days (e.g., a weekend)A year or more.Workers RequiredOne or two (e.g., a parent and a child) 500 or more people (architects, lawyers, contractors, construction workers, carpenters, electricians, plumbers, air conditioning technicians, painters, glazers, truck drivers, heavy equipment operators, etc.)Worker QualificationsSimple carpentry skillslikes to build thingsYears of experiences, college degrees, professional certification and/or licensing, union membership.Customer / UsersChildren in the household Bankers, real estate investors, renters, customers of businesses located in the building (prior to construction many customer / users may be unknown).Putting things in perspective… (cont’d)11Categories Tree House Offi ce BuildingDesign DocumentationA simple drawing on a single piece of paper (or in the head of the builder)Hundreds of architectural drawings: drawings of external views, floor plans, drawings for electrical, plumbing, and air handing systems, etc.Check for QualityParent climbs into the tree house and jumps up and down a few timesMaterial and loading tests; operation tests of the electrical, plumbing and air handling systems; a number of check-list inspections by architects, contractors, and investor representatives; inspection by a bonding agency; certification by city/state inspectors, etc.Major Software Engineering Activities•Project Management–Prepare the overall plan of the project, including release content, resource allocation, deliverable, dates, etc. Monitor progress, track and resolve issues, coordinate project termination (client acceptance, project postmortem).•LRequirements Engineering–Define the functional Land non-functional Lrequirements of the system under construction suppose to do so that on the one hand the clients know what they are getting and on the other the designers, developers, testers, etc., have an unambiguous view of what needs to be done. 12Major Software Eng. Activities (cont’d)•System Architecture–Define the overall solution for the problem. Consider such issues as requirements for hardware, system availability and reliability, end-user operational profiles, etc. Specify the major software components that will need to be available and relationships between the components. In


View Full Document

DREXEL CS 451 - _L1 -- SoftEngDiscipline

Download _L1 -- SoftEngDiscipline
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view _L1 -- SoftEngDiscipline and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view _L1 -- SoftEngDiscipline 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?