Software Engineering


Published on

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Source: USA Today 8/30/1999
  • Source:
  • Source:
  • Source: IT Facts: IT Shortage – Overview of Issues and Best Practices in IT Recruitment/Employment – Kelly Carnes Sept 18,1998. URL:
  • Source: IT Facts: IT Shortage – Overview of Issues and Best Practices in IT Recruitment/Employment – Kelly Carnes Sept 18,1998. URL:
  • Software Quality Engineering Source:
  • Other Sites include: 1 - Women-Related Web Sites in Science/Technology 2. Resources: Information on women in computing
  • Software Engineering

    1. 1. Software Engineering Software Engineering Yesterday, Today and Tomorrow Joseph P Brazy Sr Systems Engineer Fairmont Sr High School Computer Club Fairmont, WV Weds. Nov 17, 1999
    2. 2. Today’s Topics <ul><li>What is Software Engineering(SE)? </li></ul><ul><li>What are some Software Engineering Jobs </li></ul><ul><li>What are some SE products and processes </li></ul><ul><li>Some Internet Resources for SE </li></ul><ul><li>Summary </li></ul>
    3. 3. What is Software Engineering? <ul><li>Textbooks tend not to give definitions, but instead spend their introductory chapters explaining characteristics of the discipline. Interesting phrases include: </li></ul><ul><ul><li>A discipline whose aim is the production of quality software, delivered on time, within budget, and satisfying users' needs. </li></ul></ul><ul><ul><li>The specification, development, management, and evolution of software systems. </li></ul></ul><ul><ul><li>Designing and developing high-quality software </li></ul></ul>Source:
    4. 4. Software Engineering Yesterday: <ul><li>Software Engineering (term wasn’t used) </li></ul><ul><li>Computer Scientists (often did both hardware and software) </li></ul><ul><li>Internet Forefathers </li></ul><ul><ul><li>Leonard Kleinrock , a computer scientist at UCLA, stands next to the refrigerator-sized computer that made the first-ever connection in 1969 to what was to become the Internet. (AP ) </li></ul></ul><ul><ul><li>The UCLA team of graduate students in 1969 included future Internet leaders like Vinton Cerf, who later helped create the Internet's common language (TCP/IP), and the late Jonathan Postel, who pioneered its address system </li></ul></ul><ul><ul><li>Robert Kahn – computer language creator (TCP/IP) </li></ul></ul><ul><ul><li>Lawrence Roberts - the designer and developer of ARPANET </li></ul></ul>Leonard Kleinrock
    5. 5. Software Engineering Today: <ul><li>Software Engineering </li></ul><ul><ul><li>An engineering discipline that includes these processes and products: </li></ul></ul><ul><ul><li>Software Engineering Management </li></ul></ul><ul><ul><li>Software Requirements Analysis </li></ul></ul><ul><ul><li>Software Configuration Management </li></ul></ul><ul><ul><li>Software Design </li></ul></ul><ul><ul><li>Software Construction </li></ul></ul><ul><ul><li>Software Testing </li></ul></ul><ul><ul><li>Software Engineering Infrastructure </li></ul></ul><ul><ul><li>Software Engineering Process </li></ul></ul><ul><ul><li>Software Evolution and Maintenance </li></ul></ul><ul><ul><li>Software Quality Analysis </li></ul></ul><ul><ul><li>Source: SWEBOK </li></ul></ul><ul><ul><li> / </li></ul></ul>
    6. 6. Software Engineering Body of Knowledge Computing Fundamentals BOK Software Product Engineering Software Management Software Domains Source: Algorithms and Data Structures Computer Architecture Mathematical Foundations Operating Systems Programming Languages Requirements Engineering Software Design Software Coding Software Testing Software Ops& Maint Project Process Management Risk Management Quality Management Configuration Management Dev. Process Management Acquisition Management Artificial Intelligence Database Systems Human-Computer Interaction Numerical & Symbolic Comp. Computer Simulation Real-Time Systems
    7. 7. Software Engineering: Today and Tomorrow <ul><li>Information Technology Worker Shortage </li></ul><ul><ul><li>Companies in nearly every industry are reporting serious difficulty in finding and/or retraining qualified IT staff . </li></ul></ul><ul><ul><li>The Bureau of Labor Statistics growth projections for the three core occupational classifications of IT workers (computer scientists and engineers, systems analysts, and programmers) – </li></ul></ul><ul><ul><ul><li>indicate that between 1996 and 2006, the US will require more than 1.3 million new Information Technology workers, an average of about 137,800 per year   </li></ul></ul></ul>
    8. 8. IT Market in the United States <ul><ul><li>In 1996, there were 1.2 million IT jobs in the US, each paying an average of $55,000. IT salaries are increasing at an annual rate of 20%, compared to 4% for other industries . </li></ul></ul><ul><ul><li>A 1998 Virginia Tech study showed there are 346,000 unfilled jobs in the IT sector </li></ul></ul><ul><ul><li>U.S. high-tech employment approached 4.5 million in 1997. Demand for database administrators, computer support specialists, computer scientists, computer engineers, and systems analysts are all expected to more than double between 1996 and 2006 </li></ul></ul>
    9. 9. Today’s Topics <ul><li>What is Software Engineering? </li></ul><ul><li>What are some Software Engineering Jobs </li></ul><ul><li>What are the products and processes </li></ul><ul><li>Some Internet Resources </li></ul><ul><li>Summary </li></ul>
    10. 10. Daily Dozen (12) Software Engineering Jobs/Roles <ul><ul><li>Systems Analyst -- analyzes requirements for an application, mahy also do business case analysis ( economic analysis ) </li></ul></ul><ul><ul><li>Software Architect – designs the overall structure of the application </li></ul></ul><ul><ul><li>Software Network Specialist – LAN/WAN Network design, installation, maintenance </li></ul></ul><ul><ul><li>Software Programmer – implements the design using software development tools, COTS software products, and computer languages </li></ul></ul><ul><ul><li>Software Systems Administrator – administers user accounts, technology refreshment, software deployment to users, software problem solvers </li></ul></ul><ul><ul><li>Software Database Administrator – administers the database (installation, maintenance, backup, refreshment) </li></ul></ul>
    11. 11. Daily Dozen (12) Software Engineering Jobs/Roles <ul><ul><li>Webmaster – designs, implements, and maintains a web site </li></ul></ul><ul><ul><li>Software Security Engineer – identification, authorization, authentication, data protection, data integrity, CERT) </li></ul></ul><ul><ul><li>Software Tester (independent verification and validation – e.g. NASA IV&V Facility, South Fairmont) </li></ul></ul><ul><ul><li>Software Project Manager –plan, organize, direct, coordinate, control a software project (emphasis on risk management) </li></ul></ul><ul><ul><li>Software Configuration Manager – identify, change control, status accounting, audits and reviews </li></ul></ul><ul><ul><li>Software Quality Manager /Engineer – software reliability modeling, statistical quality control, defect analysis </li></ul></ul>
    12. 12. Hot Software Engineering Skills: Today and Tomorrow <ul><li>Visual Basic -- Programming Language </li></ul><ul><li>Microsoft Access – Relational Database (small applications) </li></ul><ul><li>PowerBuilder application development tools – RAD Database Tool </li></ul><ul><li>Cobol programming (in demand because of the &quot;year 2000&quot; problem) </li></ul><ul><li>C and C++ programming -- Programming Languages </li></ul><ul><li>SAP – Enterprise Wide Application Software (financial, manufacturing, product data management) </li></ul><ul><li>MVS, Unix and Windows NT – Host Operating Systems (IBM, Sun, HP, Microsoft) </li></ul><ul><li>Microsoft Exchange – E-Mail Server </li></ul><ul><li>Lotus Notes – Web Based Publishing/Management Application Software </li></ul><ul><li>Database management, administration and development -Oracle and Sybase to a lesser extent. – Oracle dominates the DBMS market </li></ul><ul><li>Internet/World Wide Web: Web-related skills; e.g., Java, ActiveX, CGI and Internet Security – Definitely – look at explosion in web and e-commerce </li></ul><ul><li>Object-oriented skills -- Analysis, design, development </li></ul>
    13. 13. ManTech-WV Information Technology Jobs/Roles <ul><li>Systems Integration and </li></ul><ul><li>Software Development </li></ul><ul><ul><li>Systems Analyst </li></ul></ul><ul><ul><li>Software Manager </li></ul></ul><ul><ul><li>Software Engineer </li></ul></ul><ul><ul><li>Programmer </li></ul></ul><ul><ul><li>Webmaster </li></ul></ul><ul><ul><li>Network Specialist </li></ul></ul><ul><ul><li>Systems Administrator </li></ul></ul><ul><ul><li>Database Administrator </li></ul></ul><ul><li>Electronic Commerce/ Electronic Data Interchange </li></ul><ul><li>Technical Manual/ETM/ IETM Technologies </li></ul>Maintenance, Operations, Inspections, Illustrated Parts Breakdowns
    14. 14. Computer Aided Acquisition Logistics Support (CALS) <ul><li>A strategy to reduce weapon system life cycle costs by employing Information Technology in the acquisition of technical information and the life cycle support of the weapon system </li></ul>
    15. 15. The Exchange of Information in Standard Electronic Digital Format CALS Technical Information STEP/PDES Product Description Completely and Accurately Describe a Product Components or Assembly of Parts for Design Analysis, Manufacture, Test and Inspection EC/EDI Transactions Business , Information, and Technical Transaction Sets Concurrent Engineering Processes Product and Manufacturing Processes Product Data CAD Data CAM Data Configuration Data Engineering Data Material Data Inventory Tech Publication Security - RFQ/Proposals Standard Data Exchange Commerce At Light Speed R. S. Kidwell / ManTech IPPT Based on
    16. 16. ManTech / WVA Team Internet Support ( ) CALS Archive Documents ( ) <ul><li>Internet Support Based Services </li></ul><ul><ul><li>Remote Group </li></ul></ul><ul><ul><li>Collaboration </li></ul></ul><ul><ul><li>Information Search </li></ul></ul><ul><ul><li>Engine Support </li></ul></ul><ul><ul><li>Push Technology </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><li>Configuration </li></ul><ul><li>Management </li></ul><ul><li>Introduction of </li></ul><ul><li>2549 MIL STD. </li></ul><ul><li>Data Model </li></ul><ul><li>Activity Model </li></ul><ul><li>Business Case Model </li></ul><ul><li>Testing </li></ul><ul><li>IETM Interoperability </li></ul><ul><ul><li>Object Encapsulation </li></ul></ul><ul><ul><li>Web Addressing </li></ul></ul><ul><ul><li>Browser/Viewer </li></ul></ul><ul><ul><li>Push Technology </li></ul></ul><ul><li>UN/EDIFACT </li></ul><ul><li>Implementation </li></ul><ul><li>Overseas Shipping </li></ul><ul><li>Document Process with </li></ul><ul><li>11 Nations </li></ul><ul><li>Testing Process of </li></ul><ul><li>DoD/ORDERS Message </li></ul><ul><li>Transaction(s) from </li></ul><ul><li>X12 to EDIFACT </li></ul><ul><li>Client/Server Architecture </li></ul><ul><li>DoD Application Development </li></ul><ul><li>Computer Hardware/ </li></ul><ul><li>Software Selection </li></ul><ul><li>Internet/Intranet </li></ul><ul><li>Security </li></ul>
    17. 17. CALS/IDE Project: DCN/ICN <ul><li>Information Technology </li></ul><ul><li>Infrastructure that uses the Internet as a backbone to provide: </li></ul><ul><li>Collaboration Services: </li></ul><ul><li> Text Conferencing </li></ul><ul><li> E-Mail and Mail Lists </li></ul><ul><li> File Sharing </li></ul><ul><li> Comment/Annotation </li></ul><ul><li> Calendar </li></ul><ul><li>Information Services: </li></ul><ul><li> Document Search and Retrieval </li></ul><ul><li> Information Repository </li></ul><ul><li>for CALS organizations, projects </li></ul><ul><li>technology transfer, best practices </li></ul>
    18. 18. Collaboration Services Technologies and Tools <ul><li>Technologies </li></ul><ul><ul><li>World Wide Web Browsers and Servers </li></ul></ul><ul><ul><li>Web Based Threaded Discussion Groups </li></ul></ul><ul><ul><li>Multimedia Collaboration (audio, video) </li></ul></ul><ul><ul><li>Web Based Application Sharing, File Sharing </li></ul></ul><ul><ul><li>Web Based Voting and Comment/Annotation </li></ul></ul><ul><li>Tools (Web Browsers and Servers) </li></ul><ul><ul><li>Microsoft IE 4.x, 5.0 </li></ul></ul><ul><ul><li>Netscape Navigator/Comm. 4x+ </li></ul></ul><ul><ul><li>Microsoft Internet Information Server 4.0 (web server) </li></ul></ul><ul><li>Application Tools </li></ul><ul><ul><li>Allaire Forums, Cold Fusion </li></ul></ul><ul><ul><li>Microsoft NetMeeting 3.0 </li></ul></ul><ul><ul><li>NTMail, NTList -- E-Mail and Listserver </li></ul></ul><ul><ul><li>HomeSite 3.0 HTML/Cold Fusion, JavaScript Devlopment Tool </li></ul></ul>
    19. 19. Information Services Technologies/Tools <ul><li>Technologies </li></ul><ul><ul><li>Web based browsers and servers </li></ul></ul><ul><ul><li>Relational Database Management System </li></ul></ul><ul><ul><li>High Level Programming Languages </li></ul></ul><ul><ul><li>Selective Push/Pull </li></ul></ul><ul><ul><li>Web Server Extensions </li></ul></ul><ul><li>Tools </li></ul><ul><ul><li>Microsoft Internet Explorer 5.0 </li></ul></ul><ul><ul><li>Netscape Navigator/Comm. 4.x+ </li></ul></ul><ul><ul><li>Cold Fusion 4.0 </li></ul></ul><ul><ul><li>Oracle Application Web Server 3.0 </li></ul></ul><ul><ul><li>Oracle 8.0 OR Database Management System </li></ul></ul><ul><ul><li>Oracle WebDB 2.0 development tool </li></ul></ul><ul><ul><li>Visual Basic 6, JavaScript, Active Server Pages </li></ul></ul><ul><ul><li>MS Office Server Extensions (notification and subscription) </li></ul></ul>
    20. 20. DCN/ICN Information Services <ul><li>Web-enabled 3-tier architecture (Web Client, Web Server, Database) </li></ul><ul><li>CALS related information (world-wide) </li></ul><ul><ul><li>Organizations </li></ul></ul><ul><ul><li>Implementations </li></ul></ul><ul><ul><li>Technology Transfer </li></ul></ul><ul><ul><li>Other CALS related information repositories </li></ul></ul>Oracle Application Server (Web Server) Oracle WebDB Rapid Application Development Tool Oracle 8.x Object-Relational Database
    21. 21. Today’s Topics <ul><li>What is Software Engineering </li></ul><ul><li>What are some Software Engineering Jobs </li></ul><ul><li>What are the products and processes </li></ul><ul><li>Some Internet Resources </li></ul><ul><li>Summary </li></ul>
    22. 22. Software Engineering Symposium 99 Keynote Address: Walker Royce <ul><li>Top 10 Principles - Conventional (all custom software - Waterfall Development Model ) </li></ul><ul><ul><li>1. Freeze requirements before design </li></ul></ul><ul><ul><li>2. Forbid coding prior to Critical Design Review </li></ul></ul><ul><ul><li>3. Use a higher order programming language </li></ul></ul><ul><ul><li>4. Complete unit testing before integration </li></ul></ul><ul><ul><li>5. Maintain detailed traceability among all artifacts </li></ul></ul><ul><ul><li>6. Document and maintain the design </li></ul></ul><ul><ul><li>7. Assess quality with independent team </li></ul></ul><ul><ul><li>8. Inspect everything </li></ul></ul><ul><ul><li>9. Plan everything early with high fidelity </li></ul></ul><ul><ul><li>10. Control source code baselines rigorously . </li></ul></ul>
    23. 23. Software Engineering Symposium 99 Keynote Address: Walker Royce <ul><li>Top 10 Principles - Modern (integration of COTS software - Spiral Development Model ) </li></ul><ul><ul><li>1. Architecture first </li></ul></ul><ul><ul><li>2. Iterative life cycle </li></ul></ul><ul><ul><li>3. Component-based development </li></ul></ul><ul><ul><li>4. Change management of all artifacts </li></ul></ul><ul><ul><li>5. Round-trip engineering </li></ul></ul><ul><ul><li>6. Model-based analysis and design notation </li></ul></ul><ul><ul><li>7. Objective quality control </li></ul></ul><ul><ul><li>8. Demonstration based assessment </li></ul></ul><ul><ul><li>9. Evolving levels of detail </li></ul></ul><ul><ul><li>10. Configurable process </li></ul></ul>
    24. 24. Software Engineering Process: Developmental Models <ul><li>The Linear Sequential Model -- Waterfall Model </li></ul><ul><li>The prototyping model </li></ul><ul><li>The RAD model </li></ul><ul><li>Evolutionary SW process models </li></ul><ul><ul><li>The Incremental Model </li></ul></ul><ul><ul><li>The Spiral Model </li></ul></ul><ul><ul><li>The Component Assembly Model </li></ul></ul><ul><ul><li>The Concurrent Development Model </li></ul></ul><ul><li>The Formal Methods Models </li></ul>
    25. 25. Linear Sequential Model (Process Engineering Methodology)
    26. 26. Spiral Development Model <ul><li>First proposed by Boehm in 1988. </li></ul><ul><li>An evolutionary process model that combines prototyping with aspects of the linear sequential model. </li></ul><ul><li>Can be used for rapid development of incremental versions. </li></ul>Sources: and
    27. 27. Sample Software Engineering Products (artifacts – IEEE Software Engineering Standards Collection) <ul><li>Software Project Management Plan </li></ul><ul><li>Software Requirements Specifications </li></ul><ul><li>Software Design Descriptions </li></ul><ul><li>Software Quality Assurance Plan </li></ul><ul><li>Software Configuration Management Plans </li></ul><ul><li>Software Verification and Validation Plan </li></ul><ul><li>Software Test Documentation </li></ul><ul><li>Software User Documentation </li></ul><ul><li>Information Technology-Software Life Cycle Processes-Software Development Acquirer-Supplier Agreement </li></ul><ul><li>Standard for Developing Software Life-Cycle Processes </li></ul><ul><li>Dictionary of Measures to Produce Reliable Software </li></ul><ul><li>Application Software </li></ul>Challenge: Match the product to an area of the Software Engineering Body Of Knowledge Area (SEI BOK Model)
    28. 28. Today’s Topics <ul><li>What is Software Engineering </li></ul><ul><li>What are some Software Engineering Jobs </li></ul><ul><li>What are the products and processes </li></ul><ul><li>Some Internet Resources </li></ul><ul><li>Summary </li></ul>
    29. 29. Some Internet Resources <ul><li>World Wide Web Consortium </li></ul><ul><ul><li>Works on web publishing standards like HTML and XML, stylesheets (CSS, XSL), and related subjects </li></ul></ul><ul><ul><li>Internet URL: </li></ul></ul><ul><li>Carnegie Mellon University – Software Engineering Institute (SEI) </li></ul><ul><ul><li>SEI Capability Maturity Model – organizations </li></ul></ul><ul><ul><li>SEI Personal Software Process (PSP) – individual </li></ul></ul><ul><ul><li>Internet URL: </li></ul></ul>Software Engineering Processes
    30. 30. Some Internet Resources <ul><li>Purdue University Center for Research in Information Assurance and Security (CERIAS) </li></ul><ul><ul><li>information security (computer security, network security, and communications security), and information assurance </li></ul></ul><ul><ul><li>Internet URL: </li></ul></ul><ul><li>Web Developer’s Virtual Library </li></ul><ul><ul><li>Internet URL: </li></ul></ul>
    31. 31. Some Internet Resources <ul><li>Tucows </li></ul><ul><ul><li>Software Product Reviews including shareware and COTS (HTML stuff, Windows 95/98/NT, Games, Music </li></ul></ul><ul><ul><li>Internet URL: </li></ul></ul><ul><li>Multiple Search Engine </li></ul><ul><ul><li>Copernic 2000 uses 8 search engines including Altavista </li></ul></ul><ul><ul><li>Internet URL: </li></ul></ul>
    32. 32. Some Internet Resources <ul><li>Top 100 Women in Computing (1996) </li></ul><ul><ul><li>Information Services, technology, research, senior management </li></ul></ul><ul><ul><li>http:// </li></ul></ul><ul><li>Resources for Women in Computing, Engineering, and the Sciences </li></ul><ul><ul><li>Learning, Formal Education, Job Related Categories </li></ul></ul><ul><ul><li>Internet URL: </li></ul></ul><ul><li>Dr Anita Borg </li></ul><ul><li>Carly Fiorina </li></ul>Jeopardy Game Category: Women in Computing and Technology
    33. 33. Some Internet Resources <ul><li>Asset </li></ul><ul><ul><li>Software Engineering and Web Technology </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>CNET </li></ul><ul><ul><li>News, hardware, web building, downloads, trends, games, jobs… </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>Internet Society (ISOC) </li></ul><ul><ul><li>home for the groups responsible for Internet infrastructure standards, including the Internet Engineering Task Force (IETF) and the Internet Architecture Board (IAB). </li></ul></ul><ul><ul><li> / </li></ul></ul>
    34. 34. Software Engineering Summary <ul><li>Software Engineering has a bright future (job opportunities) </li></ul><ul><li>The Web will be a major driver of software engineering growth </li></ul><ul><li>Successful software engineers will constantly learn and adapt new technologies </li></ul>Knowledge is Power! Do Your Best!  Learn how to solve problems. Best Wishes on Your Future Endeavors !
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.