3 Pages

Chapter 4

Course: CIS 410, Fall 2009
School: Alaska Anch
Rating:
 
 
 
 
 

Word Count: 1200

Document Preview

4: Chapter Software-Development Fundamentals One path to success in software is paying attention to fundamentals. If you don't master fundamentals, you'll do OK on the easy projects, but your hard projects will fall apart. 1. Management Fundamentals Organizations that attempt to put software-engineering discipline in place before putting project-management discipline in place are doomed to fail. Management...

Register Now

Unformatted Document Excerpt

Coursehero >> Alaska >> Alaska Anch >> CIS 410

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
4: Chapter Software-Development Fundamentals One path to success in software is paying attention to fundamentals. If you don't master fundamentals, you'll do OK on the easy projects, but your hard projects will fall apart. 1. Management Fundamentals Organizations that attempt to put software-engineering discipline in place before putting project-management discipline in place are doomed to fail. Management fundamentals consist of (1) determining the size of the product (which includes functionality, complexity, and other product characteristics), (2) allocating resources appropriate for a product of that size, (3) creating a plan for applying the resources, and then (4) monitoring and directing the resources. A. Estimating and Scheduling Three basic steps to create a software schedule (1) estimate the size of the project, then (2) estimate the effort needed to build a product of that size and then (3) estimate a schedule based on the effort estimate. An inaccurate estimate reduces development efficiency. Accurate estimation is essential input for effective planning, which is essential for efficient development. B. Planning Best projects are characterized by strong up-front planning to define tasks and schedules. Planning included these activities: 1. Estimation and scheduling 2. Determining how many people to have on the project team, what technical skills are needed, when to add people, and who the people will be. 3. Deciding how to organize the team 4. Choosing which lifecycle model to use 5. Managing risk 6. Making strategic decisions such as how to control the product's feature set and whether to buy or build pieces of the product. C. Tracking On a typical project, project management is almost a black-box function. You rarely know what's going on during the project and you just have to take whatever comes out at the end. On an ideal project you have 100 percent visibility at all times. On an efficient project, you always have at least some visibility and you have good visibility more often than not. See p. 57 for graphs. If you don't track a project, you can't manage it. You have no way of knowing whether your plans are being carried out and no way of knowing what you should do next. You have no way of monitoring risk to you project. Effective tracking enables you to detect schedule problems early, while there's still time to do something about them. D. Measurement One key to long-term progress in a software organization is collecting metric data to analyze software quality and productivity. II. Technical Fundamentals 1. Requirements Management Is the process of gathering requirements, recording them in some form, tracking the design and code against them, and then managing changes to them for the rest of the project. Top three reasons that projects were delivered late, over budget, and with less functionality than desired (1) lack of user input (2) incomplete requirements, and (3) changing requirements. Success at requirements management depends on knowing enough different practices to be able to choose the ones that are appropriate for a specific project. Fundamentals of requirements management: 1. Requirements analysis methodologies including structured analysis, data structured analysis, and object-oriented analysis. 2. System-modeling practices such as class diagrams, DFD, ERD, data-dictionaries, and state-transition diagrams. 3. Communication practices such as JAD, user-interface prototyping, and general interview practices. 4. The relationships between requirements management and the different lifecycle models. 2. Design Fundamental topics 1. Major design style--such as object design, structured design, and data structure design 2. Foundational design concepts--such as information hiding, modularity, abstraction, encapsulation, cohesion, coupling, hierarchy, inheritance, polymorphism, basic algorithms, and basic data structures 3. 4. 5. 6. Stand design approaches to typically challenging areas--including exception handling, internationalization and localization, portability, string storage, input/output, memory management, data storage, floating-point arithmetic, database design, performance, and reuse Design considerations unique to the application domain--such financial, as scientific, embedded systems, real-time systems, and safety-critical software. Architectural schemes--such as subsystem organization, layering Use of design tools. Design serves as the foundation for construction, project scheduling, project tracking, and project control. 3. Construction Fundamentals 1. Coding practices--including variable and function naming, layout, and documentation 2. Data-related concepts --such as scope, persistence, and binding 3. Guidelines for using specific types of data--such as integer, floating-point, arrays ... 4. Control-related concepts--including organizing strait-line code, using conditionals, controlling loops ... 5. Assertions and other code-centered error-detection practices 6. Rules for packaging code into routines, modules, classes, and likes 7. Unit-testing and debugging practices 8. Integration strategies--such as incremental integration, big-bang integration, and evolutionary development 9. Code-tuning strategies and practices 10. The ins and outs of the particular programming language you're using 11. Use of constructions tools--including environments, group work support, and code generators 4. Software Configuration Management Is the practice of managing project artifacts so that the project stays in a consistent state over time. Includes practices for evaluating proposed changes, tracking changes, and handling multiple versions. Without configuration management, your teammates can change part of the design and forget to tell you. I. Quality-Assurance Fundamentals When a software product has too many defects, developers spend more time fixing the software than they spend writing it. Some projects try to save time by reducing the time spent on quality assurance practices such as design and code reviews. Other projects--running late--try to make up for lost time by compressing the testing schedule, which is vulnerable to reduction because it's usually the critical path item at the end of the project. Poor quality is one of the most common reasons for schedule overruns. Up to four times the normal number of defects are reported for released products that were developed under excessive schedule pressure. Rule of thumb, every hour you spend on defect prevention will reduce your repair time 3 to 10 hours. The further from its origin that a defect is detected, the more it will cost to fix. A. Error Prone Modules About 20% of the modules in a program are typically responsible for about 80 % of the errors. Error prone modules tend to be more c...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Alaska Anch - CIS - 410
Chapter 5-Risk Management I. Elements of Risk Management The job is to identify, address, and eliminate sources of risk before they become threats to successful completion of a project. Levels of risk management 1. Crisis management-Address risks onl
Alaska Anch - CIS - 410
Chapter 6-Core Issues in Rapid Development I. DOES ONE SIZE FIT ALL? Different projects have different rapid-development needs. In general, projects that are widely distributed need to be developed more carefully than products that are narrowly distr
Alaska Anch - CIS - 410
Chapter 7-Lifecycle Planning A lifecycle is a prescriptive model of what should happen between the first conception of a project and its completion. The main function of a lifecycle model is to establish the order in which a project specifies, protot
Alaska Anch - CIS - 410
Chapter 8-Estimation An accurate schedule estimate is part of the foundation of maximum development speed. Without an accurate schedule estimate, there is no foundation for effective planning and no support for rapid development/ Coming up with a per
Alaska Anch - CIS - 410
Chapter 8-EstimationWithout an accurate schedule estimate, there is no foundation for effective planning and no support for rapid development. Coming up with a perfect estimate doesn't do any good if you can't get the estimate accepted. Which of th
Alaska Anch - CIS - 410
Chapter 9-Scheduling 9.1 OVERLY OPTIMISTIC SCHEDULING Excessive or irrational schedules are probably the single most destructive influence in all of software. A. Root Causes of Overly Optimistic Schedules 1. There is an external, immovable deadline.
Alaska Anch - CIS - 410
Chapter 9-Scheduling Excessive or irrational schedules are probably the single most destructive influence in all of software. Each of the following is a root cause of overly optimistic schedules except: A. There is an external, immovable deadline. B.
Alaska Anch - CIS - 410
Chapter 10-Customer-Oriented Development The companies that have made customer relations a top priority have made many of their development problems disappear, including the problem of slow development. In the end, your customers' perception of wheth
Alaska Anch - CIS - 410
Chapter 11-Motivation Of the four areas of rapid-development leverage-people, process, product, and technology-"people" has the greatest potential to shorten software schedules across a variety of projects. Motivation is undoubtedly the single greate
Alaska Anch - CIS - 410
Chapter 11-Motivation 1. Which of the following has the greatest potential to shorten software schedules across a variety of projects? People Process Product Technology 2. _ is the single greatest influence on how well people perform. 3. Developers a
Alaska Anch - CIS - 410
Chapter 12-Teamwork 12.2 Teamwork's Importance to Rapid Development A. Variations in Team Productivity The best teams were at least 4 times as productive as the worst. B. Cohesiveness and Performance Members of cohesive groups work hard, enjoy their
Alaska Anch - CIS - 410
Chapter 12-Teamwork 1. Members of cohesive groups work hard, enjoy their work, and spend a great percentage of their time focused on the project goals. 2. Participants in projects with poor team dynamics are frequently unfocused and demoralized, and
Alaska Anch - CIS - 410
Chapter 13-Team Structure 13.1 Team-Structure Considerations The team structure should be based on the team's broad objectives. Objective Problem resolution Creativity Tactical execution Team Structure Trust Autonomy Clarity Lifecycle Code-and-fix, s
Alaska Anch - CIS - 410
Chapter 13-Team Structure 1. Match the kind of team with its description: Tactical-execution Focuses on solving a complex, poorly defined problem. The people on this team need to be trustworthy, intelligent, and pragmatic. Problem-resolution Charter
Alaska Anch - CIS - 410
Chapter 14-Feature-Set Control There are three general kinds of feature-set control: 1. Early-project control of defining a feature set that is consistent with your project's schedule and budget objectives. 2. Mid-project control of controlling creep
Alaska Anch - CIS - 410
Chapter 14-Feature-Set Control 1. Which of the following is not a way to narrow your scope? Minimal specification Requirements scrubbing Versioned development JAD sessions All of the above will narrow your scope 2. Which of the following in not a pro
Alaska Anch - CIS - 410
Chapter 15-Productivity Tools Adopting a new tool can be one of the quickest ways to improve productivity. But it can also be one of the riskiest. The most productive organizations have found ways to minimize the risks and maximize the productivity g
Alaska Anch - CIS - 410
Chapter 15-Productivity Tools 1. Adopting a new productivity tool can be one of the riskiest ways to improve productivity. 2. The most productive organizations have found ways to minimize the risks and maximize the productivity gains. Their strategy
Arizona - MELOSH - 554
Arizona - MELOSH - 554
Meteoroid Impact and Planetary EvolutionH. J. Melosh Lunar and Planetary Lab University of Arizona Tucson, AZ 85721 USAThe study of impact craters has a welldefined beginning: 1610Galileo's small telescope and limited field of view did not permi
Arizona - MELOSH - 554
Huygens DISR images of TitanCassini Mosaic of Enceladus' South PoleThe Grand TourA quick overview of the rocky planets and moons, sorted by sizeToutatis, 2.5 x 4 km. Slow rotatorGaspra, 4.5 x 9.1 kmIda (24 x 56 km) and Dactyl (about 3 km)
Arizona - MELOSH - 554
Planetary TectonicsPtyS 554, Spring 2009E. M. Anderson's 1951 theory relates stress and fault type, assuming that faults are shear fracturesThe most ancient structures on the moon are outlined by "lineaments"-usually polygonal crater walls. Call
Arizona - MELOSH - 554
Cover design by Leslie Bleamaster, Planetary Science Institute. Planetary images include hemispheric views and mosaics from top to bottom: Titan (PIA07774 NASA/JPL/Space Science Institute, Blue Green Red spectral filters) Venus - PIA00104 NASA/JPL-Ca
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: description.dvi %Pages: 23 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o description.ps des
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: standards.dvi %Pages: 2 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips standards.dvi %DVIPSPara
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: /home/tigger4/dm312/ears/previous-work/previous-work.dvi %Pages: 3 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPS
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: /home/tigger4/dm312/ears/lexicon/lexicon.dvi %Pages: 2 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine:
UCSC - PSY - 140
Kettcar - Nacht Die Stufen, die Haustr, der Flur Mein Herz schlgt im Dunkeln Und ich Lass hinter mir Die letzten paar Meter gerannt Gerannt, um zu sehen wo du bist Gerannt, um zu fhlen wie es ist Hier bei dir Meine Welt aufgehoben und ich Kann die We
Neumont - ORCO - 6304
Nom: Date de naissance: Adresse : Ville: Code Postal : ge : Tlphone: Courriel: Tlc. :1. Contexte scolaireNiveau atteint : Matires prfres / moins aimes: Auto-valuation des aptitudes scolaires: Aspiration scolaires: valuation globale de l'cole: (aim
Neumont - ORCO - 6304
Rapport Psychomtrique ConfidentielPrsent par XXXXXXXXXXXXXXPrsent monsieur Robert Baudouin, PhD Dans le cadre du cours OR6304 Testing en orientationFacult des sciences de l'ducation Universit de Moncton Le XXXXXXXXXRapport psychomtrique conf
Neumont - ORCO - 6304
Raliste (construire, rparer, et travailler au dehors) Intrts: Les machines, outils, dehors. Activits au travail: Conduire des machines, utiliser des outils, construire, rparer. Habilits possibles: Dextrit et savoir-faire mcanique, coordination physiq