Terms you'll need to understand:
Techniques you'll need to master:
In this chapter, you survey the methods and means of designing, building, and supporting computer systems. In particular, this chapter focuses on analysis and design of the certification assignment and how to meet the requirements in Sun's instructions. The entire process, from requirements analysis to implementation, is explained as it relates to this certification. The process of implementing code or system changes after careful analysis of problems and alternative solutions is also covered. The assignment is modeled after a real software project. Therefore, you will do best if you manage your work accordingly . Some candidates just write code until their solution works. That might be enough, but you improve your chances for a great score if you design your application following industry best practices. Also, most candidates get the instructions and just start coding. Starting that way might be easier; however, it isn't the best approach. I recommend taking the time to follow the international standards mentioned in this book. They are well-established standards for software development and will improve your score. I especially recommend turning to the International Organization for Standardization (ISO) and Institute of Electrical and Electronics Engineers (IEEE) as the last word on software standards for the foreseeable future. According to ISO and IEEE studies, the most common weakness of information technology (IT) projects in the software industry is lack of planning. Further, poor documentation is evidence of poor planning, so this chapter also emphasizes documentation, which is part of the assignment. You should complete a brief Software Requirements Specifications (SRS) document and its sibling, the Software Design Descriptions (SDD) document. This chapter covers material normally not found in other certification books. Unfortunately, some candidates and authors do not think that formal analysis and design are necessary for this certification. This is a mistake. Worse, this attitude finds its way into development shops . I've seen many projects that lack accurate requirements analysis and design specifications. This attitude will catch up to those developers, however. Perhaps a little attention to the development phase in this chapter will demonstrate how big an impact it can have on a software project. The assignment you download includes skeleton code and instructions that are much like a project charter. This charter isn't complete enough to code the solution, however. Like all projects, your assignment needs to be defined in more detail as the project moves from idea to reality. Professional shops don't just take an idea and start coding. To increase your chances of creating a successful solution, you need to plan the work carefully . This rule applies to the assignment as well as the rest of the software industry. The instructions do provide a written roadmap defining the key issues and the general project deliverables. Because it is a single-developer project, there is no information about the project team's composition and the relationship of the project to the organization's strategic or operational goals, as you find in a commercial project. Because computer systems have become so complex, advanced methods are required to figure them out. For example, support managers want an automated problem-tracking system to respond better to customer needs. This basic business need is easy to understand, but actually building something to meet the need is more difficult. As you go deeper into the solution, it becomes more difficult to know exactly what bytes to use and how to organize them for consistent, reliable, and accurate behavior. This chapter introduces you to systematic analysis and development using contemporary methodology. This chapter just might be the most helpful in this book because it provides the overall assignment approach and context, which comes from experience alone. You can't figure out the approach and context just by sheer thinking; there are too many wrinkles in the real world of IT. Therefore, this chapter explains the nontechnical aspects and sets the stage for the techniques explained in the remainder of the book.
|