Chapter 6. Application Analysis and Design


Terms you'll need to understand:

  • Systems analysis methods

  • Project management

  • Requirements discovery

  • Project management

  • Use case analysis

Techniques you'll need to master:

  • Learning the techniques for discovering and analyzing requirements

  • Writing a Software Requirements Specifications document and its sibling, a Software Design Descriptions document

  • Exercising effective project management techniques

  • Understanding the tools and techniques of systems analysis

  • Understanding the systems development life cycle

  • Knowing how to document systems development techniques and methodologies

  • Conducting use case analysis and writing a Software Requirements Specification according to accepted standards

  • Using requirements to identify necessary classes and their relationships

  • Performing simple systems planning, systems analysis, systems design, systems implementation, and systems support

  • Performing database design and specification

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.

graphics/tip_icon.gif

Several activities in this certification overlap many or all development phases during your project. For example, analysis is continual. Likewise, you need to conduct fact-finding, documentation, and project management throughout the assignment.


graphics/note_icon.gif

In an earlier project, I was part of a contractor team advising a client on designing a new system. The client was a B2B buyer-seller exchange. The team discovered that the client needs (that is, problems) involved much more than a new software system. The client had more than 100 software developers and designers. Why did it need a contractor? Because the client's development business unit was in disarray. We went beyond software and actually started redesigning the client's product development processes ”going to the root of the client problem by fixing the process first. Only then would the contractor be able to make a lasting contribution. The contractor went on to redesign much of the client's software design, build, and deployment processes. This client would have benefited from better software development project management. This chapter discusses what defines effective software design and the larger information systems design.




JavaT 2 Developer Exam CramT 2 (Exam CX-310-252A and CX-310-027)
JavaT 2 Developer Exam CramT 2 (Exam CX-310-252A and CX-310-027)
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 187

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net