DOC PREVIEW
CORNELL CS 501 - CS 501 Lecture Notes

This preview shows page 1-2-15-16-17-32-33 out of 33 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 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 33 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 33 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 33 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 33 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 33 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 33 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringCourse AdministrationSlide 3An Old Exam QuestionBad AnswersGood AnswersSlide 7PowerPoint PresentationFrom Lecture 1: Overall Aim of the CourseFuture ExperienceCareers outside ComputingTechnical CareersThe Connection to the Client: CS 501 ModelThe Connection to the Client: Typical OrganizationProduct ManagerQuality AssuranceCareers that take responsibility for the Technical Work of OthersCareer FlexibilitySoftware Development as a ProfessionWhat is Engineering?From Lecture 1: Professional ResponsibilityAn Old Question: Safety Critical SoftwareClient ResponsibilityComputing Management ResponsibilitySoftware Developers and Testers: ResponsibilitiesSlide 26From Lecture 1: The Craft of Software DevelopmentCrafts, Science, EngineeringSlide 29Engineers, Texas and the ACMFrom the National Society of Professional EngineersSoftware Engineering as Engineering?Software Engineering Institute Capability Maturity Model1CS 501 Spring 2006CS 501: Software EngineeringLecture 24People 22CS 501 Spring 2006Course Administration3CS 501 Spring 2006CS 501: Software EngineeringCompletion of Lecture 234CS 501 Spring 2006An Old Exam QuestionYou have hired two new members of staff. (i) The first has just graduated from the Cornell M.Eng. program in computer science, with no work experience. (ii) The second has five years' experience in developing advanced applications, but has never worked on this type of computer.Some of the development tasks are more interesting than others. Some tasks are harder than others. Some are more time critical than others. What approach would you use in allocating the tasks to these two new members?5CS 501 Spring 2006Bad Answers"The Cornell graduate has more expertise to tackle the harder tasks." What makes you so superior?"The Cornell graduate is used to time-critical tasks (course assignments)." Sorry, that's not real."The Cornell graduate should be given interesting work to make him/her keen to continue with the company." But who cares if you leave?A raw graduate is still a trainee -- the most junior person -- much to learn -- no experience of production quality development.But, hopefully, with great potential!6CS 501 Spring 2006Good Answers•Both should have the potential to produce excellent software under tight time constraints. •Both new employees need to learn the technical environment. Expect them both to work slowly until they learn the environment.•The junior (raw graduate) needs mentoring. The senior (experienced developer) might work independently or lead a team.•The junior should not be put on time-critical tasks. The experienced developer might be.•Both people should be given a mixture of more and less interesting tasks. Discuss the allocation with them.7CS 501 Spring 2006CS 501: Software EngineeringThe Human Computer Interaction ExperimentSadat Shami8CS 501 Spring 2006http://knet.hci.cornell.edu9CS 501 Spring 2006From Lecture 1:Overall Aim of the CourseWe assume that you are technically proficient. You know a good deal about computing, can program reasonably, can learn more on the job.When you leave Cornell, you are going to work on production projects where success or failure costs millions of dollars.Soon you will be in charge! It may be your money!We want you to make your mistakes now and learn from your mistakes.10CS 501 Spring 2006Future ExperienceWhat will you be doing one year from now? Ten years from now?1. Careers outside computing2. Careers in which you personally continue to do technical work3. Careers in which you are responsible for the technical work of others11CS 501 Spring 2006Careers outside ComputingA computing background can be valuable in any career: management, government, law, medicine, philanthropy, etc.Education in computing is an asset:• Computing is a vital part of almost every organization• Education in logical thinking, tackling large tasks systematicallyEducation in computing is a potential weakness:• Not every problem can be solved by rational thinking alone• Importance of skills with people, judgment, etc.12CS 501 Spring 2006Technical CareersSuper-technical positionsA very few senior positions which are almost entirely technical:e.g., industrial research, universitiesEven these have substantial organizational aspectsMid-level technical positionsNumerous mid-level professional positionsCan be state-of-the-art or dead-endComputer professional report satisfaction with their choice of careers13CS 501 Spring 2006The Connection to the Client:CS 501 ModelClientSoftware development teamCourse team14CS 501 Spring 2006The Connection to the Client:Typical OrganizationCustomersSoftware development MarketingQuality assuranceProduct management15CS 501 Spring 2006Product ManagerThe task of the Product Manager is to ensure that the right product is built and that the right trade-offs are made between timeliness, functionality and costs. This requires an understanding of:• Marketing and business considerations• Technical options and design criteria• Communication among groups with different expertise and prioritiesA good Product Manager has strong technical and management skills (e.g., a computer scientist with an MBA)16CS 501 Spring 2006Quality AssuranceThe task of Quality Assurance is to ensure that software products are built correctly.At Microsoft, the Quality Assurance staff is as large as the Software Development staff.• Develop tools and methodology for creating software that is:testablemaintainablefree of bugs• Validate software by reviews, inspections, testing, etc.17CS 501 Spring 2006Careers that take responsibility for the Technical Work of OthersA common career progression is from being a technical expert to leading others who do technical workSenior personnel must be familiar with both the strategic organizational aspects and the computing aspects of the work, e.g.,EntrepreneurChief Information OfficerSenior consultant• Requires good technical insight, but not detailed technical expertise• Requires organizational, marketing, personnel, financial expertiseProduct management is a good background for such positions18CS 501 Spring 2006Career FlexibilityNobody knows where computing will go in the future, but …If you do not learn continuously, you are going out of date fast!• Go to seminars, conferences, training courses• Be inquisitive – discover things for yourselfTechnical expertise is most valuable when combined with other skills•


View Full Document

CORNELL CS 501 - CS 501 Lecture Notes

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download CS 501 Lecture Notes
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 CS 501 Lecture Notes 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 CS 501 Lecture Notes 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?