1 / 15

Software

Software. What Is Software? Computer software is the product that software professionals design and build. It encompasses Programs Content Documents. www.educlash.com. Information. Produces. Modifies. Manages. Displays. Software - the Product. Acquires. Transforms. Software

hmadera
Download Presentation

Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software • What Is Software? Computer software is the product that software professionals design and build. • It encompasses • Programs • Content • Documents www.educlash.com

  2. Information Produces Modifies Manages Displays Software - the Product Acquires Transforms Software Vehicle to deliver the product Operating System Network Software Case tools www.educlash.com

  3. What is Software Engineering • Solving Problems • Software products are large and complex • Development requires analysis and synthesis • Analysis: decompose a large problem into smaller, understandable pieces • abstraction is the key • Synthesis: build (compose) a software from smaller building blocks • composition is challenging www.educlash.com

  4. Con.. • The analysis process www.educlash.com

  5. Con.. • The synthesis process www.educlash.com

  6. What is Software EngineeringSolving Problems (continued) • Method: refers to a formal procedure; a formal “recipe” for accomplishing a goal that is typically independent of the tools used • Tool: an instrument or automated system for accomplishing something in a better way • Procedure: a combination of tools and techniques to produce a product • Paradigm: philosophy or approach for building a product (e.g., OO vs structured approaches) www.educlash.com

  7. What is Software EngineeringWhere Does the SW Engineer Fit in? (continued) • Relationship between computer science and software engineering www.educlash.com

  8. Characteristics • Software does not wear out • It becomes reliable over time. • It becomes obsolete based on new changes • Software is not manufactured • One time development efforts • Continuous maintenance efforts. • Reusability of components • Not a single product as a whole • Every component – Single process • Component based Software Engineering • Software is flexible • Can be made flexible • Leads to unpredictability www.educlash.com

  9. The Evolving Role of Software • The Evolving Role of Software • Software takes on a dual role: • A product • Delivers the computing potential embodied by computer hardware • The vehicle for delivering a product • Acts as the basis for the control of the computer (OS), the communication of information (networks), and the creation and control of other programs (software tools and environments) • The most important product: Information www.educlash.com

  10. Changing Nature of Software • System software • Application software • Engineering/scientific software • Embedded software • Product-line software (e.g., inventory control, word processing, multimedia) • Web applications • Artificial intelligence software • Ubiquitous computing (small, wireless devices) • Netsourcing (net-wide computing) • Open source (operating systems, databases, development environments) • The ".com" marketing applications www.educlash.com

  11. Types of Software • System software • it services other programs • heavy interaction with hardware, • Real-time software • data gathering component • analysis component • monitoring component • Business software • largest single software area • MIS important component • Engineering and scientific software • number crunching numerical algorithms www.educlash.com

  12. Types of Software • Embedded software • resides in read-only memory of any appliances • controls products and system for consumers • PC software • several hundreds of applications available as software packages • Web-based software • unlimited software resource • AI software • makes use of non-numerical algorithms • expert systems, pattern recognition, games www.educlash.com

  13. Software Myths - Management • "We already have a book that is full of standards and procedures for building software. Won't that provide my people with everything they need to know?" • Not used, not up to date, not complete, not focused on quality, time, and money • "If we get behind, we can add more programmers and catch up" • Adding people to a late software project makes it later • Training time, increased communication lines • "If I decide to outsource the software project to a third party, I can just relax and let that firm build it" • Software projects need to be controlled and managed www.educlash.com

  14. Software Myths - Customer • "A general statement of objectives is sufficient to begin writing programs – we can fill in the details later" • Ambiguous statement of objectives spells disaster • "Project requirements continually change, but change can be easily accommodated because software is flexible" • Impact of change depends on where and when it occurs in the software life cycle (requirements analysis, design, code, test) www.educlash.com

  15. Software Myths - Practitioner • "Once we write the program and get it to work, our job is done" • 60% to 80% of all effort expended on software occurs after it is delivered • "Until I get the program running, I have no way of assessing its quality • Formal technical reviews of requirements analysis documents, design documents, and source code (more effective than actual testing) • "The only deliverable work product for a successful project is the working program" • Software, documentation, test drivers, test results • "Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down" • Creates quality, not documents; quality reduces rework and provides software on time and within the budget  www.educlash.com

More Related