Computer Science Project
Computer Science Project CIS 4910
Popular in Course
Popular in Computer Information Systems
This 4 page Class Notes was uploaded by Mabel Smitham PhD on Wednesday September 23, 2015. The Class Notes belongs to CIS 4910 at University of South Florida taught by Kenneth Christensen in Fall. Since its upload, it has received 29 views. For similar materials see /class/212606/cis-4910-university-of-south-florida in Computer Information Systems at University of South Florida.
Reviews for Computer Science Project
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/23/15
MMM Book Notes Chapter 1 defines the craft of creating software and today creating software and hardware has never been more indistinguishable and its joys In short building things is human nature and building in the software world is especially attractive because it is such easily molded clay But the crafts has its quotwoesquot as well including the need for perfection and the hard work that is debugging The woes are the tarpit into which one can succumb The book is about how to quotlay some boardwalksquot across the tarpits Chapter 2 is the title of the book the mythical man month mmm The mmm is simply that quotmen and months are not interchangeablequot Adding people to a job that cannot be further partitioned cannot reduce the schedule but instead may increase it due to communications overhead The figures 21 thru 24 tell the story a picture is worth 10K words So Brooks Law is quotAdding manpower to a late software project makes it laterquot page 25 Chapter 3 describes one way to organize a programming team like a surgical team with one chief programmer and the rest are folks to assist some with special talents or aptitudes such as for breaking things the tester and so on Some of the tasks in the team are a bit dated programming clerk but the general idea of one lead technical and one lead administrator is what should be gleaned from this chapter No matrix management and let s all vote in this team A key point made and easy to miss on the last page of the chapter is that a sharp distinction must be made between architecture and implementation Chapter 4 continues on the theme of one technical master but here the technical master is the project architect The architect is the quotuser39s agentquot is the definition used by Brooks The architects and there must be one or only few ofthem almost by definition are Brooks39 aristocrats and the implementers are the democracy Brooks highlights that implementation is not less creative than architecting the system It is also noted that architecture design and implementation can start at the same time top of page 49 This is somewhat like the incremental development advocated in class Chapter 5 describes why Version 2 is sometimes worse than Version 1 quotAn architect s first work is apt to be spare and clean He knows he doesn t know what he is doing so he does it carefully and with great restraintquot say Brooks And then for Version 2 all the frills and embellishments are added quotThe second is the most dangerous system a man ever designsquot Brooks I suppose this explains why Windows 31 and not 10 or 20 was the first successful Windows release Chapter 6 is very timely reading as it describes the user manual or external specification This is the input and output of your product Note that precision is more important than liveliness Certainly a spec will never become a best seller Note also the discussion on quotEnglish or any other human language is not naturally a precision instrumentquot This is why we use flowcharts FSMs and other more formal ways to describe a design Note the discussion on phone logs well today that would be email logs How much quotdesign by emailquot goes on A lot Chapter 7 describes communication and organization and how the two go handinhand Indeed the main theme of the book that large jobs cannot be partitioned endlessly without increasing delivery time is communications Note the statement quotThe job done least well by project managers is to utilize the technical genius who is not strong on management talentquot This has become even more true as companies push more and more for interpersonal skills team skills and less for raw technical horsepower Is this a good thing Think about it Chapter 8 is a data intensive chapter on lines of code productivity When I was at IBM we used a number of 6 lines of code per day per programmer for a shipped product Productivity numbers seem to be independent of languages think about 6 lines of assembler code versus 6 lines of Java or C with NET Which will result in the greatest amount of functionality Chapter 9 is about dealing with memory constraints quotBeyond craftsmanship lies invention quot I love this quote Do we care about memory constraints today We do when programming embedded systems are other small devices Chapter 10 describes what documents are important and the quotimportant listquot looks a lot like our list of deliverable documentsl I like the quote quotAnd indeed most ofthem are exactly thatquot that is a white tide threatening to engulf useless and wasteful stuff Chapter 11 effectively argues for prototyping you throw the first one away anyhow so why not explicitly plan to do so The discussion on the IBM dual ladders of advancement might be of interest to some of you I remember this ladder well and how it did not really work The closing statement in the chapter is one not to be forgotten quotSystems program building is an entropydecreasing process hence inherently metastablequot It is controlling the wild swings that makes development interesting and challenging otherwise it is reallyjust pretty boring Chapter 12 is all about tools This chapter will seem rather archaic to most of you a discussion of teletypes and typewriters The point made however is very timeless a craftsperson is no betterthan their tools and a good craftsperson takes care of their tools keeping them sharp Chapter 13 what is the difference between writing a program and writing a program that works And what does it mean to quotworkquot This chapter also encourages iterative development with quotAdd one component at a timequot note the quote quotThis precept too is obvious but optimism and laziness tempt us to violate itquot So pay attention Chapter 14 how does a project get late One day at a time This chapter is all about the need for a schedule so that one can determine if a project is indeed doing OK or running late Large organizations have entirely separate quality control groups to focus entirely on schedule issues From reading the chapter you can see why and how they might work Chapter 15 is a continuation of Chapter 10 a drilldown into documents Some things in this chapter may be a bit archaic run time Remember batchl But other things like program structure charts and flowcharts remain timeless Chapter 16 is worth the price of the entire book and a lot more This chapter was originally a key paper published in IEEE Computer This chapter explains why software inherently will never be easy Understand the difference between essential and accidental tasks Essential design Accidental implement the design Software has not and by arguments in this chapter and will never see the magnitudes of improvement seen in hardware Our hardware like this laptop I am typing on have seen magnitudes of improvement since the 1960s Our software really has not This Windows operating system is still VMS 1980s underneath the shell And Linux How can the hottest thing is OSes be something from the 1970s Think about it Chapter 17 is an introspective on Chapter 16 In this chapter GOP is called a quotbrass bulletquot The key in GOP is that it enables code reuse Code reuse enables new designs to be built on old designs something not so easy with older procedural languages This is a rather long chapter In the end Brooks still holds to his ideas in Chapter 16 Chapter 18 is the quotCliffs Notesquot err wikipedia entry google it there is a wikipedia entry for the book of the book Here Brooks carefully summarizes and revisits his 1960s ideas with a 1990s perspective Read it as a review of the book Chapter 19 is a retrospective or reflection from 1995 of the original 1975 MMM In other words how much is still correct that was written in 1975 Conceptual integrity is still considered by Brooks to be central to product quality A cool idea for having two mice is presented A significant discussion on how the waterfall model is wrong because it is not iterative is presented Brooks concedes that information hiding is good but has risks The big new thing since 1975 is millions of computers namely PCs End material is the epilogue and the notes and references The final words of the book are We have many future joys Indeed Brooks sees that challenges still remain what a marvelous predicament
Are you sure you want to buy this material for
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'