In this chapter, we examined standards and processes, which represent some guidelines for best practices. We started by examining standards, including coding, user interface, documentation, and testing standards. Coding standards look at rules and conventions for formatting code. There are great features in Visual Studio .NET to help with this process. The formatting options can be configured for all or specific languages. Without using the VS.NET environment, many of these options would be unavailable for you during development. The proper use of coding conventions helps other developers to understand your code. User interface standards help define a common look and feel with the use of common industry standards. An example would be the Microsoft user interface standards for XP, which detail appropriate user-interface standards for windows, menus, and other visual elements. Documentation standards help with the common communication of the team. Each team member understands the flow of information and what needs to be documented. Each team member can set up a level of expectation for common understanding. Testing standards help to improve customer confidence and software quality by putting in place policies and procedures for testing and by doing unit testing.
Processes discussed were design review, code review, creating builds, tracking issues, management of source code, changes and release management using Visual SourceSafe, and establishing maintenance tasks. Standardizing processes are the next evolution of the standards process. After defining what you want to record and keep track of, a process needs to follow to sequence the events. A design review helps you to determine if you know what you are going to build. It looks at a group collaboration of the ideas of different individuals who look at solutions in different ways. This helps the team to understand how the solution will be solved and helps other developers who could be dependent on your code to start evolving their process. Code review is the examination of completed code to make sure existing standards are followed and complex tasks are explained. The creation of builds is the heart of the iterative development process. These cycles include the compiling of code, deployment, and testing. They allow the team to determine the progress of the project. Visual SourceSafe is integrated with the Microsoft Visual Studio environment to help with the source code and deployment processes. Visual SourceSafe includes multiple configurations for handling this integration. This integration depends on your environment configuration.
Quality and performance metrics help to determine whether the team met the agreed upon goals and objectives. Project control metrics help to control both the nondevelopment and development processes. Some concepts used in this process include the fixed ship date mindset, bug convergence, and zero bug bounce. These concepts help establish the quality of the project and software. Organizational performance is evaluated by examining how well the team works together. This helps determine efficient process and employee practices. Finally, the identification of return on investment is the determination of the financial value of the solution.
Documentation standards define a collection of artifacts that help define information for multiple stages of a project.
Coding principles help a developer with the formatting of source code and formatting conventions.
User interface standards help define the look and feel of the user experience.
Testing standards define what methods are used to provide unit testing and test configurations.
Reviewing development documentation is the examination of the design of a solution or pieces of a solution.
Reviewing code is a process for ensuring that developers follow the approved coding standards and conventions. This process helps other developers learn techniques to apply.
Tracking issues is the identification and following of bugs and critical tasks that affect the development of the solution.
Managing source code, changes, and releases can be performed using Microsoft Visual SourceSafe. This allows for the sharing of documents among developers and team members.
Establishing maintenance tasks is the identification of supporting tasks and applications needed for the solution.
Evaluating project control is the determination of the project schedule and the control of costs.
Evaluating organizational performance is the analysis of processes and employees to determine what techniques are effective for the organization and the project.
Identifying return on investment is determining the financial value of the solution for the business.
1. | You are writing the technical specifications document. The application is a web application. The requirement is to provide documentation in a physical form to the user and provide an online form of the documentation for the web application. Identify the correct user documentation types to meet the requirements. (Choose all that apply.)
|
|
2. | You are taking over the project midway through and you need to examine the high-level documents for the project. Choose the correct project documents. (Choose all that apply.)
|
|
3. | You are writing the developer standards document for coding. Identify which of the following statements is incorrect.
|
|
4. | You are writing the testing plan. Identify which stage of testing is the most critical.
|
|
5. | You are writing support documentation. Identify the correct support documents for the solution. (Choose all that apply.)
|
|
6. | You are writing developer coding standards. The previous application did not have good comments. Identify the correct statements for code comments. (Choose all that apply.)
|
|
7. | When performing a code review and using the naming conventions adopted from Microsoft; which of the following options correctly identify the naming of an interface?
|
|
8. | While creating coding standards for the application, identify the correct naming convention for a Boolean variable.
|
|
9. | You are writing the technical specifications. Using the SQL standards, identify the prefixes not to use with stored procedures. (Choose all that apply.)
|
|
10. | While creating standards for the development staff, it is necessary to identify development environment standards on environment settings. Identify the correct behavior if the tab size is not the same as the indent size and the Keep Tab option is selected to be included in the document.
|
|
11. | You are creating the standards document. Identify the examples of good user interface to include in the document. (Choose all that apply.)
|
|
Answers
1. | A, B, and D. A user manual, HTML help, and .CHM files would allow the application to provide online and offline help. |
2. | A, B, and D. Requirements documents, functional specifications, and use cases are types of project documents. |
3. | B. %FirstName is the correct answer. The percent symbol (%) is a special character and cannot start variable names. |
4. | A. Integration testing is the correct answer because you are combining solutions together, and integration of the application takes the most time and effort. |
5. | A and D. Support documents contain details about how to secure and maintain the applications. |
6. | A, B, and C. Avoiding extra comments, explaining difficult sections of code, and commenting where bugs are found help to have readable code and are true statements about comments. |
7. | D. The naming convention for interfaces is to start with a capital I. |
8. | B. A Boolean field starts with an I and is descriptive. |
9. | A, B, and C. The prefix xp_ is used as an extension for extended stored procedures. The prefix fn_ is used for system-defined functions, and sp_ is used for system-defined stored procedures. |
10. | B. The correct behavior for the indent size and the Keep Tab option is to fill in with space characters for the remainder if the indent size is not an even multiple of the tab size. |
11. | A and D. Examples of good user interface design are allowing the user to cancel out of transactions and using consistent color schemes. This gives the user the ability to correct mistakes and applys a consistent look and feel. |
12. | You are creating the testing plan. Identify the correct term for the following statement: “The rate of bugs resolved exceeds the rate of bugs found.”
|
|
13. | You are creating the testing plan. Identify the correct term for indicating when there are no active bugs, usually followed by a “bounce” in the number of active bugs.
|
|
14. | You are creating the testing plan. Identify the correct term for describing the intention to release the software to commercial users on a certain date.
|
|
15. | You are creating the testing plan. Identify the correct term for describing the examination of the cost based on budget, project progress, and team performance.
|
|
16. | The development environment is to be established by creating isolated builds. Which of the following statements is correct for describing isolated builds? (Choose all that apply.)
|
|
17. | The development environment is to be established by creating semi-isolated builds. Which of the following statements are correct for describing semi-isolated builds? (Choose all that apply.)
|
|
18. | The development environment is to be established by creating nonisolated builds. Which of the following statements are correct for nonisolated builds? (Choose all that apply.)
|
|
19. | You are creating the development standards. Identify the types of issues to be examined by the code reviews. (Choose all that apply.)
|
|
Answers
12. | C. Bug convergence is where the rate of bugs resolved exceeds the rate of bugs found. This marks a milestone in the development. This date helps determine the release date schedule. |
13. | A. Zero bug bounce is where there are no active bugs, but a new list of active bugs is found after testing. |
14. | B. Fixed ship date mindset is having a projected release date of the software. This gives the team and the customer a way to determine if changes are necessary instead of waiting for the next release. |
15. | D. Project control is the examination of the cost, the progress, and the team performance on a project. |
16. | B and D. With isolated builds, an IIS instance is required locally and multiple checkout is available. |
17. | A and C. Semi-isolated builds do not require a local IIS, and because debugging is done against a shared instance, the developer debugging locks other developers from debugging against the server. |
18. | A, C, and D. Nonisolated builds do not require the developer to maintain a local IIS because multiple checkout is unavailable and file access is used. |
19. | A and B. Code reviews look at the syntax of the code and where standards have been followed. |
20. | While examining the management of the solution, you want to keep an eye on items that can effect the return on investment (ROI) of the solution. Identify the positive ROI situations. (Choose all that apply.)
|
|
Answers
20. | B and C. Reduction of staff and old hardware affect the return of investment by allowing the application to be more stable and have reduced support costs. |
1. | Create a C#.NET console application to copy web server log files from remote locations, preprocess them, and load them into a warehouse table. Then generate rollup information from the warehouse table and populate the report structures. The source servers and file locations will be stored on multiple key nodes in the config file that define a) the web server name, b) the file location of the logs, and c) the web site URL for which the logs describe traffic. All temporary files must be destroyed upon completion of processing, and all system notifications, successes, or failures should be written to the event log. The application config file should define a Panic Email key that should be used when a catastrophic failure occurs. Identify the types of documents necessary to be created for this solution. |
|
Answers
1. | The console application would need project documents as follows: a functional specifications document to lay out the requirements necessary for the solution and to determine if the project team and the customer understand the needs of the solution. This document typically provides a high-level overview of the solution and the timelines for completion. The next document would be the technical specifications document. This document would detail the different layers of the application, such as that the user services would be the actual console application and that the data layer would be in SQL and in the file system. It is also necessary to keep key information for the solution in an app.config file that will also be defined in the document. The last document would be the deployment document. This document would detail how to create the SQL databases and tables necessary for the solution. It would also detail the specific environment variables for the different deployment environments and how to move the application into each environment. |