TAILIEUCHUNG - Software Engineering For Students: A Programming Approach Part 10
Software Engineering For Students: A Programming Approach Part 10. This fully revised version of Doug Bell's Software Engineering: A Programming Approach continues to use the successful formula of the previous editions. The author's approach is to present the main principles, techniques and tools used in software engineering, one by one, chapter by chapter. This book is a unique introduction to software engineering for all students of computer science and its related disciplines. It is also ideal for practitioners wishing to remain current with new developments in the area | 68 Chapter 6 Modularity Java is a typical modern language. At the finest level of granularity a number of statements and variable declarations can be placed in a method. A set of methods can be grouped together along with some shared variables into a class. A number of classes can be grouped into a package. Thus a component is a fairly independent piece of program that has a name some instructions and some data of its own. A component is used or called by some other component and similarly uses calls other components. There is a variety of mechanisms for splitting software into independent components or expressed another way grouping together items that have some mutual affinity. In various programming languages a component is a method a class a package. In this chapter we use the term component in the most general way to encompass any current or future mechanism for dividing software into manageable portions. Why modularity The scenario is software that consists of thousands or even hundreds of thousands of lines of code. The complexity of such systems can easily be overwhelming. Some means of coping with the complexity are essential. In essence the desire for modularity is about trying to construct software from pieces that are as independent of each other as possible. Ideally each component should be self-contained and have as few references as possible to other components. This aim has consequences for nearly all stages of software development as follows. Architectural design This is the step during which the large-scale structure of software is determined. It is therefore critical for creating good modularity. A design approach that leads to poor modularity will lead to dire consequences later on. Component design If the architectural design is modular then the design of individual components will be easy. Each component will have a single well-defined purpose with few clear connections with other components. Debugging It is during debugging that .
đang nạp các trang xem trước