zoukankan      html  css  js  c++  java
  • 软件工程 实践者的研究方法 第31章答案

    Problem:

    Based on information contained in this chapter and your own experience, develop “10 commandments” for empowering software engineers. That is, make a list of 10 guidelines that will lead to software people who work to their full potential.

    Answer:

    Ten Commandments for software people who lead to do their work with full potential.

    We should focus on to “get smarter (provide education)”.

    We should “focus on quality”.

    We are aware of “listen to the customer’s requirements”.

    We should be capable to “Understand the problem”

    We should have a sound commitment of “work within a repeatable process”.

    “Don’t agree with ridiculous schedules”.

    We must have the knowledge on “complete details of the product, it’s processing and our knowledge on the product”.

    “Document the work in the most effective way”.

    We should remember that,“ others will also work on the software”.

    We should focus on “continuous updation of process”.

    Problem:

    The Software Engineering Institute’s People Capability Maturity Model (People-CMM) takes an organized look at “key practice areas” (KPAs) that cultivate good software people. Your instructor will assign you one KPA for analysis and summary.

    Answer:

    The basis of the people management capability maturity model implements human resources best practices and orgazational development methodologies as its basic pattern KPA.

    The People management capability maturity model framework:-

    Level

    Maturity

    KPA

    1

    Initial

    An Organization should focus on to improve its software process.

    2

    Repeatable

    Work environment staffing, training, compensation

    3

    Defined

    Organization process focus,

    Integrated software Management,

    Skill analysis,

    work force planning,

    career development

    4

    Managed

    Quantitative Process Management

    Software Quality Management

    5

    optimizing

    Personal competency development,

    Coaching,

    Continuous word force innovation.

    In the above KPA requirements that are unique to the PCMM framework.

    Problem:

    Describe three real-life situations in which the customer and the end user are the same. Describe three situations in which they are different.

    Answer:

    If we considered as customer and the end-user are same person, then we consider below factors.

    (1) A person who must develop a program for personal use, he/she may think about their requirement.

    (2) A business person creating a spreadsheet model for his/her personal use;

    (3) An entrepreneur who has a new concept for a Web App.

    If we considered as customer and the end-user are Different persons then developer must consider below factors:

    (1) An Information System department servicing the some business function;

    (2) A software development group servicing marketing needs;

    (3) A contractor building to customer specs.

    Problem:

    The decisions made by senior management can have a significant impact on the effectiveness of a software engineering team. Provide five examples to illustrate that this is true.

    Answer:

    The decisions made by senior management can have a significant impact on the effectiveness of a software engineering team.

    Goals and objectives:

    It should make clear to the senior management which business goals and critical success factors will be supported by the new information system. It will also define the specific goals of the project and the objectives.

    Approach and time table:

    When are the project’s objectives going to be achieved and by whom are the briary questions addressed in this part of the document. It comprises a proposal regarding the “make or buy” decision, or an evolution of these two alternatives. The bow question is further refused by a rough project plan composed of the major section of the project. Each section is terminated by a milestone.

    Cost benefit analysis:

    The costs caused by the project are specified, and expected benefits are elaborated, benefits can either be short p term or long – term. Some benefits can be measured in financial figures, while others are qualitative benefits requiring casual analysis and argumentation.

    Project budget:

    A budget summary sates the duration of the project and the total project cost, as well as any already available income. There are different ways to structure a budget depending on the type of the project and on the organizations requirements. However, almost every budget includes items like: project personal, S/W casts. Additional hardware requirements meeting, trending the future users and overhead casts such as project administration.

    Project risks:

    A project risks can originate from the task to be soled (E.g. too complex, too many departments involved), from project management (E.g. inappropriate development toads), from the project team (E.g. knowledge level, experience etc of team member team size) from the IT infrastrure, from the implementation process in the organization, and also from senior management.

    Problem:

    Review a copy of Weinberg’s book [Wei86], and write a two- or three-page summary of the issues that should be considered in applying the MOI model.

    Answer:

    MOI model

    MOI means motivation, organization and ideas or innovation.

    Motivation: The ability to encourage (by “Push or Pull”) technical people to produce to them best ability.

    Involve them. Many people employees want to be involved in the ongoing. Development and progress of their company and they have insightful ideas that can make a significant difference in the company.

    Employees want regular updates on the progress of the business and their personal performance. Use emails and group meetings to keep you team apprised of changes, up dates new products etc.

    Organization:

    Team members have zeal to achieve new things from the existing and will enable the initial concept to be translated into final product. And generic team organizations can able to success the project leaders by applying a problem solving management style.

    No permanent leader rather “task coordinator” decision made by group consensus.

    To encourage the people to create and feel creative even when they must software product or application.

    That is a software project manager solved, managing the flow of ideas, and at the same time letting everyone on the team know (by words and far more important, by actions) that quality counts and that it will not be compromised.

    Problem:

    You have been appointed a project manager within an information systems organization. Your job is to build an application that is quite similar to others your team has built, although this one is larger and more complex. Requirements have been thoroughly documented by the customer. What team structure would you choose and why? What software process model(s) would you choose and why?

    Answer:

    I choose controlled centralized (CC):

    Top – level problem solving and internal team Co-Ordination are managed by a team leader.

    Control is hierarchical and communication is vertical.

    Centralized:

    Fast, works for simple well defined problems scales well since performance of team is inversely proportional to amount communication.

    Process management:-

    The project manger must decide which process model (linear, prototyping, RAD, spiral, component based) is most appropriate for.

    1) The customers and practitioners.

    2) The characteristics of the product.

    3) The project environment in which the soft ware team works.

    Choosing team structure:-

    (i) The difficulty of the problem to be solved.

    (ii) The size of the resultant program in lines of code.

    (iii) The time that the team will stay together.

    (iv) The degree to which the problem can be modularized

    (v) The required quality and reliability of the system to be built

    (vi) The rigidity of the definers date

    (vii) The degree of sociability required for project.

    Model process: The linear sequential model because the team with already of the experiment with this type of product.

    Problem:

    You have been appointed a project manager for a small software products company. Your job is to build a breakthrough product that combines virtual reality hardware with state-of-the-art software. Because competition for the home entertainment market is intense, there is significant pressure to get the job done. What team structure would you choose and why? What software process model(s) would you choose and why?

    Answer:

    Task: Build a break through product that combines virtual reality hard ware with state of the art software. Because competition for the home entertainment market is intense, there is significant pressure to get the job done.

    I choose contracted de – centralized(CD) structure.

    Controlled decentralized (CD): A defined leader who co – ordinates specific tasks. Problem solving is a group activity but implementation of solution is partitioned among subgroups.

    Control is vertical and communication is horizontal.

    Model process: The spiral model.

    Problem:

    You have been appointed a project manager for a major software products company. Your job is to manage the development of the next-generation version of its widely used word-processing software. Because competition is intense, tight deadlines have been established and announced. What team structure would you choose and why? What software process model(s) would you choose and why?

    Answer:

    If I appointed as a project manager for a major software Products Company, my main Job is to manage the development of the next generation version of word processing software. For this, based on hazy requirements and the experimental nature of the work

    i used an open paradigm team structure

    Open paradigm—structures a team that achieves some of the controls but also much of the innovation. Here time pressure and familiarity with the work is good. An incremental process model is indicated by the deadline driven nature of this work

    Problem:

    You have been appointed a software project manager for a company that services the genetic engineering world. Your job is to manage the development of a new software product that will accelerate the pace of gene typing. The work is R&D oriented, but the goal is to produce a product within the next year. What team structure would you choose and why? What software process model(s) would you choose and why?

    Answer:

    If I appointed as a project manager for a company, I preferred random team structure because here work is experimental and business deadline is also there. For this,

    I started by trying to create a simple structured text file with the necessary data: event date and other event details, plus the team contact info. This data was all on separate lines.

    Another possibility is to use an open paradigm team structure. An incremental process model or an evolutionary process model could be used, given the deadline driven nature of this work.

    Problem:

    You have been asked to develop a small application that analyzes each course offered by a university and reports the average grade obtained in the course (for a given term). Write a statement of scope that bounds this problem.

    Answer:

    Statement of scope about – a small application that analyzes each course offered by a university and reports the average grade is

    The Grade Analyzer application will obtain grades for all undergraduate and graduate for-credit courses contained in the Registrar's data base of courses for a given semester.

    Ex:

    Determining student – course information which is available from the register. It format and method of access should be made available by the requesters.

    A couple of possibilities are the machine readable grade sheets submitted by the instructor or the sheets have been processed into an electronic database.

    Assuming it is a database format, develop an query which will access course’s grade sheet, extracting from it each student’s grade. Note that query does not required either student’s name or ID so the query software can be developed and used with limited database access permissions.

    The semester catalog will be scanned and each course section, recorded by appropriate ID as needed to interrogate Regis arts database. The query result will then be scanned, passed to function with will use the grade in a switch based upon grade type. This will allow maximum flexibility to enhance the software to handle additional grade types. The ‘W’ grade will be ignored, the grades “A” – “F” along with “+” and “-“will be weighted according to the universities GPA weighting summed, counted as a grade count and at the and averaged. The pass/ fail grades, “P” and “FF” will be attendance counted. Other grade types will be handled as a required by the requesters. The result of each query with appropriate course ID will be stored in a database with restricted availability to the organization requesting the information.

    Here grade analyzer will read all grades for each course and compute the average grade using a numerical scale in which an A = 4.0 and other grades are assigned values as indicated in grade value document UC29-1. Grade Analyzer will print and/or display a report that lists each course, the instructor, the average grade. The report may be sorted by department, by highest to lowest average grade, by instructor or by any permutation of these characteristics. Grade Analyzer will be implemented to run under Microsoft Windows XP environment.

    Problem:

    Do a first-level functional decomposition of the page layout function discussed briefly in Section 31.3.2.

    Answer:

    Problem decomposition, some times called partitioning or problem elaboration, is an activity that is the core of software requirements analysis.

    Decomposition is applied in the major areas.

    (i) The functionality that must be delivered

    (ii) The process that will be used to deliver it.

    Page layout is considerations

    Define page parameters

    Allocate text regions

    Allocate graphical regions

    Define emphasis (lines, shading, etc.)

    Input/import text

    Input/import graphics

    Edit text

    Edit graphics

    Out page/export page

    End page layout

    Ex:-

    The first level of partitioning naturally occurs,

    (i) Spell checking

    (ii) Sentence grammar checking

    (iii) Reference checking for large documents.

    (iv) Section and chapter reference validation for large documents.


    Solution :Chapter 31 PROJECT MANAGEMENT CONCEPTS

    31.1 Ten commandments:

    1. Thou shalt get smarter (provide education).

    2. Thou shalt focus on quality.

    3. Thou shalt listen to the customer.

    4. Thou shalt understand the problem.

    5. Thou shalt work within a repeatable process.

    6. Thou shalt not agree to ridiculous schedules.

    7. Thou shalt measure the product, the process and yourself.

    8. Thou shalt document the work in the most effective way.

    9. Thou shalt remember that others will also work on the software.

    10. Thou shalt continually improve

    31.2 The latest SEI information can be obtained at:

    http://www.sei.cmu.edu/

    31.3 Same person: (1) an engineer who must develop a program for personal use; (2) a business person creating a spreadsheet model for personal use; (3) an entrepreneur who has a new concept for a killer App.

    Different person: (1) an IS department servicing some business function; (2) a software development group servicing marketing needs; (3) a contractor building to customer specs.

    31.4 In today’s environment downsizing and outsourcing have the most immediate and significant impact. In addition, "expense reduction measures" that lead to lower product quality; unrealistic project deadlines; failure to "listen" to the customer, or conversely, to warnings noted by the software engineers doing the work.

    31.5 Answers will vary

    31.6 A closed paradigm team structure is one option. Since requirements are well defined, it will be possible to partition requirements and allocation to subteams. The large size of the project also mitigates in favor of a CD team. Since there is no discussion of schedule, we assume that delivery date is reasonable. Therefore, it might be possible to use a linear sequential process model (work has been done before). However, an iterative model (e.g., spiral) is also a good possibility.

    31.7 The random paradigm team structure is probably the only viable option, given hazy requirements and the experimental nature of the work. A prototyping approach or an evolutionary process model should be used.

    31.8 An open paradigm team structure is probably best, given time pressure and familiarity with the work (however, a closed paradigm team might also work well). An incremental process model is indicated by the deadline driven nature of this work.

    31.9 A random team structure is probably best, given that the work is experimental, but that there is a business deadline. Another possibility is to use an open paradigm team structure. An incremental process model or an evolutionary process model could be used, given the deadline driven nature of this work.

    31.10 The GradeAnalyzer application will obtain grades for all undergraduate and graduate for-credit courses contained in the Registrar’s data base of courses for a given semester. GradeAnalyzer will read all grades for each course and compute the average grade using a numerical scale in which an A = 4.0 and other grades are assigned values as indicated in grade value document UC29-1. GradeAnalyzer will print and/or display a report that lists each course, the instructor, the average grade. The report may be sorted by department, by highest to lowest average grade, by instructor or by any permutation of these characteristics. GradeAnalyzer will be implemented to run under Microsoft Windows Visat environment.

    31.11 A simple decomposition:

    page layout

    define page parameters

    allocate text regions

    allocate graphical regions

    define emphasis (lines, shading, etc.)

    input/import text

    input/import graphics

    edit text

    edit graphics

    outpage/export page

    end page layout

     

  • 相关阅读:
    为什么你改了我还看不见?
    一条SQL更新语句是如何执行的?
    一条SQL查询语句是如何执行的?
    为什么学习mysql
    读书并不只是向一个方向前进——《代码之外的生存指南》
    RabbitMQ在C#中的使用
    RFID技术与条形码技术的对比
    射频识别技术RFID
    通过IIS不能连接远程数据库的问题
    老板不断加需求、改需求的四种应对方法
  • 原文地址:https://www.cnblogs.com/mikecracker/p/14316998.html
Copyright © 2011-2022 走看看