New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here


by: Dr. Garrison Mohr


Dr. Garrison Mohr
GPA 3.87


Almost Ready


These notes were just uploaded, and will be ready to view shortly.

Purchase these notes here, or revisit this page.

Either way, we'll remind you when they're ready :)

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

Class Notes
25 ?




Popular in Course

Popular in ComputerScienence

This 8 page Class Notes was uploaded by Dr. Garrison Mohr on Saturday September 26, 2015. The Class Notes belongs to CP SC 872 at Clemson University taught by Staff in Fall. Since its upload, it has received 33 views. For similar materials see /class/214267/cp-sc-872-clemson-university in ComputerScienence at Clemson University.

Similar to CP SC 872 at Clemson

Popular in ComputerScienence




Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 09/26/15
CpSc 872 Software Design amp Implementation Historical Overview of Software Engineering Historical overview Computing evolution lst phase I Batch orientation I Limited computer usage I Hardware much more expensive than so ware bundled I Custom so wareW Computing evolution 2nd phase I Multiuser I Realtime systems I DBMS I Product so ware Computing evolution 3rd phase I Distributed systems I Embedded intelligence I hardware is cheap I Consumer impact Computing evolution 4th phase I Powerful desktop system I 00 technology I Expert systems I Al I Parallel computing I Network computing Software today E Qw 0 computer programs are ubiquitous o soitware realizes the potential of hardware 0 megasoitware companies 0 soitware superstores o lntemet v 39 What is software engineering 7 o the establishment and use of sound ngineenng principles to obtain economical re that is reliable and works ef ciently on real machines Fritz Bauer 1969 What is software engineering 7 o A multiperson construction of multi version so ware Parnas 1987 What is software engineering a 1 the application ofa systematic disciplined quanti able approach to the development operation and maintenanc of software the application of engineering to software 0 2 the study of approaches to 1 IEEE 1993 Why do we need Software Engineering Large software projects demand it uTo control Software and maintenance costs To recycle software Large Software Projects Initially projects were small Single programmer Limited communication required Finite Development Period De ned project objectives Problem understood by one person Large Software Projects Gradually projects became Larger Varied project members Managers Analysts Programmers Extensive interpersonal communication required Long Development Period Non Speci c project objectives Problem entirely understood by no one person 13 Large Software Projects Projects universally over budget and behind schedule so called Software Crisisquot BriggsMeyers estimation rule Software Engineering was an attempt to control and solve these problems Recycling Software Software reuse Avoids reinventing the wheel Economical Accomplished via engineering processes Documentation Quality 00 Components Hardware does fail The Tacoma Narrows Software vs Hardware Software is developed or engineered NOT manufactured Frequently software is custom built Software doesn t wear out Hardware Bathtub failure curve So ware steady state failure curve with spikes Hardware failure curve lnfant Mortality Failure R ale Software Failure rate idealised Faiiure Rate Time The effects of change increased raiiure me due In side eneeis actual curve idealized curve Time The Cost of Change Defiriiliori Development A errelease The ideal Software Engineer 0 Must be a good Programmer 0 Familiar with several design approaches 0 Know several computer languages 0 Have excellent communication skills 0 Have the ability to manage 0 Problem solver 0 Professional The SoftvggDrocess The Software Process 0 The process we follow to builddeliver and evolve the software product from the inception of an idea all the way to the delivery and the final retirement of the system is called a so production process The Software Process 0 A process is essential to any discipline whose goal is to produce products 0 Software development differs from hardware 0 QUES How to organise a software production process 0 We put forward the following models Software Life Cycle Models I codeW o The Waterfall model p 47 in lJML book 0 The Prototyping model 0 Incremental modelIterative Model 0 Spiral Model p 49 in UML book 0 Components model 0 Fourth generation model 0 Formal Methods model Codeandf1x V The Waterfall Model 0 First appeared in 1950 s popular in 1970 s 0 Process structured as a cascade of phases where output of one is input of next 0 Many variants of model depending on Organisation A Speci c project 0 Underlying phases same for all The Waterfall Model Feasibility Study o Analyse the problem Problem de nition Identify alternative solutions Resources Costs amp Delivery dates for each m Requirements Analysis amp Speci cation 0 RA what must the software do 0 Requirements Specification Document Documents the results of the analysis Customer uses it to verify expectations Design and Analysis 0 Description of software architecture Decompose the system into modules or componen s Function of each module Relationships between modules Coding and Module testing 0 Writing the program Originally the only recognised phase Subject to company wide standards 0 Unit testing 9 Integration and system testing 0 Integration Tests the connectivity of modulesunits integration testing tests as application is built System testing High level testing of the assembled application system is put into actual use but with understanding and forgiving users alpha testing Delivery and Maintenance 0 Delivery Stage 1 distr bute to select group of customers Beta testing Stage 2 official release Maintenance any change to the software Source of software errors my 7 D nRequirements 27 55 a 93919 Conclusions on Maintenance 0 Requirements analysis big source of error Difficult to capture exactly Change overtime 0 Many errors not found until maintenance Very costly to x at this stage One of SE s goals is to catch faults earlier An evaluation of the model 0 Two fundamental contributions Firstly the SDP should be subject to discipline planning and management Secondly coding should wait until requirements analysis and design An evaluation of the model 0 Waterfall model can only be approximated in practice It is characterised as Linear Rigid o No room for feedback during cycle Conclusion about waterfall model 0 While the waterfall model does have its weaknesses it has given discipline and structure to software development The Prototyping model 0 Based on the Do it twice principle Brooks 1975 0 First version is a quick design prototype to assess the feasibility of the product verify and refine the requirements 0 Prototype is evaluated and requirements refined 0 Real system isthen developed 41 The Prototyping model stop Engineer athenn Product An evaluation of the model 0 Model goes some way to address the rigidity problems of Waterfall 0 Does not eliminate gap between definition of requirements and delivery of software 0 No mechanism for anticipating change Software process models the incremental model 0 apply analysis design code test iteratively increasing functionality at each iteration o eg word processor developed incrementally might deliver basic file mgmt and editing in first increment more sophisticated editing with second increment 0 first deliverable is usually core product 44 Incremental ismmil eeeee menu um 45 10quot Spiral Model Daumw gum elmmm md Dem Rmemmsylm u yd m m pm pr M lawlymduu Software process models component assembly model 0 00 provides the technical framework for this mode 0 OO paradigm emphasizes the creation of classes gt components 0 properly designed components are reusable across different applications amp platforms Software process models formal methods model 0 mathematical specification of computer software 0 use formal methodsto specify develop and verify a computer based system by applying rigorous mathematical notation c not a mainstream approach yet offers the promise of defectfree software


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Bentley McCaw University of Florida

"I was shooting for a perfect 4.0 GPA this semester. Having StudySoup as a study aid was critical to helping me achieve my goal...and I nailed it!"

Kyle Maynard Purdue

"When you're taking detailed notes and trying to help everyone else out in the class, it really helps you learn and understand the I made $280 on my first study guide!"

Steve Martinelli UC Los Angeles

"There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."


"Their 'Elite Notetakers' are making over $1,200/month in sales by creating high quality content that helps their classmates in a time of need."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.