• Complain

Crookshanks - Practical software development techniques : tools and techniques for building enterprise software

Here you can read online Crookshanks - Practical software development techniques : tools and techniques for building enterprise software full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Berkeley, Calif, year: 2014, publisher: Apress, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Crookshanks Practical software development techniques : tools and techniques for building enterprise software
  • Book:
    Practical software development techniques : tools and techniques for building enterprise software
  • Author:
  • Publisher:
    Apress
  • Genre:
  • Year:
    2014
  • City:
    Berkeley, Calif
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Practical software development techniques : tools and techniques for building enterprise software: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Practical software development techniques : tools and techniques for building enterprise software" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

This book provides an overview of tools and techniques used in enterprise software development, many of which are not taught in academic programs or learned on the job. This is an ideal resource containing lots of practical information and code examples that you need to master as a member of an enterprise development team.

This book aggregates many of these on the job tools and techniques into a concise format and presents them as both discussion topics and with code examples. The reader will not only get an overview of these tools and techniques, but also several discussions concerning operational aspects of enterprise software development and how it differs from smaller development efforts.

For example, in the chapter on Design Patterns and Architecture, the author describes the basics of design patterns but only highlights those that are more important in enterprise applications due to separation of duties, enterprise security, etc.

The architecture discussion revolves has a similar emphasis different teams may manage different aspects of the applications components with little or no access to the developer.

This aspect of restricted access is also mentioned in the section on logging.

Theory of logging and discussions of what to log are briefly mentioned, the configuration of the logging tools is demonstrated along with a discussion of why its very important in an enterprise environment.

Crookshanks: author's other books


Who wrote Practical software development techniques : tools and techniques for building enterprise software? Find out the surname, the name of the author of the book and a list of all author's works by series.

Practical software development techniques : tools and techniques for building enterprise software — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Practical software development techniques : tools and techniques for building enterprise software" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make

APPENDIX A

Picture 1

Enterprise Considerations and Other Topics

There are several factors that differ in an enterprise environment from an educational environment. Depending on the size and structure of the university or college some of these factors may be experienced to some degree. We will briefly list these concerns from a large organizational perspective and how each impacts or influences software development. We also discuss some general topics related to the software development career.

These topics may also be used to form the a basis for some interview questions when the interviewer asks Do you have any questions for me? asking a question based on one or more of the following topics can show that you are thinking in a large organization frame of mind.

One final disclaimer the discussions in this section are based loosely on the experiences of the author and several of the authors colleagues; software professionals with an average of 15 years of experience. This means most of us have seen the dot-com boom, bust, and what has happened since. Most have been in large organizations (hundreds or thousands of employees total), micro shops (3-4 developers and a dozen total employees), and all sizes in between. Employment trends, technology trends, and business practices constantly change, so the discussions forthcoming should not be taken as an absolute predictor of how technology employment will be like, only as a general survey of some topics that are not often discussed in an academic setting.

Number and Location of Team Members and/or Users

In large organizations and todays job climate it is becoming more and more common for team members to be geographically dispersed. Several factors influence this trend non-local company acquisitions, availability of talent in specific areas, cost of real-estate, and even security. Collaboration tools such as GoToMeeting and Microsoft Live Meeting make distributed team communication easier than ever; webinars and other distributed learning technologies reduce the need for travel expenditures. All this increasingly means that companies are becoming more and more willing to find talent wherever it is located rather than insisting it be local to the company.

Likewise, end users can be located just about anywhere. For business software locations such as New York, Los Angeles, and Hong Kong are important. This has to be taken into account for not only software response times (such as a user in Hong Kong receiving a file from the States or calling a web service based in Omaha) but for software maintenance as well. Upgrading a system at midnight Eastern Time is noon in Hong Kong; Asian users may be slightly upset if there system goes offline in the middle of their business day.

Game programmers are especially affected by distant users. Increasingly, multi-player games can be attended from anywhere with a wide range of broadband speeds and response times to factor in. This could have a huge effect on performance and must be taken into account. The important thing is to remember this when developing and testing and to attempt to simulate remote users with built-in delays, random communication failures, etc.

System Integration

Unlike legacy client-server systems, most :, systems may have to interface with other systems via web services, remote method calls, DCOM, or some type of messaging. This has profound impact on applications, for two main reasons. One, there is a possibility that the external system may be unreachable for some reason. And two, the external system may change its interface or data format without proper communication. Error handling, retrying, and alternate processing strategies are very important when dealing with external systems. Also, designing systems via dependency injection allow for testing of these interfaces without actually connecting to them. This allows both for positive testing (aka happy case), when communication goes right, and for negative testing, or simulating when communication goes wrong.

Separation of Duties and Environmental Limitations

In larger software organizations there are typically several stages software goes through before being released to the customer, internal or external. These different stages will have different limits on how software developers can interact with each environment. The reasons for this separation are very diverse. In some cases, such as retail software, there is no way to provide developers access to end users desktops, so production access is a moot point. In other situations where the customer is an internal user, production access for developers is limited for security and risk reasons. The time card application from the last chapter is a good example of an internal application where access to production needs to be restricted; both for security of personal information and the possibility of fraud. For the following discussion the assumption is an internal application that is never seen by users outside the organization but still has sensitive data. This could be human resources software such as our time card application or an application that processes outside user data but isnt seen by them directly - a policy analyzer for an insurance company for example. In this situation, many organizations will have a minimum of three different environments for the software development, testing, and production.

In development, software developers may have complete access and authority to their application. This usually includes the right to install and change application code, run tests, browse logs and directory configurations, edit files, etc. However there could be restrictions on what is allowed to be done or tools to be used; not so much for the development environment itself but to align the system with what is allowed or prohibited in the higher environments. So even though a developer can change application code, they may not be allowed to apply service packs or patches to the operating system.

Development environments are also typically matched with development areas in supporting services, such as a database or a messaging system. And although software developers may have elevated privileges to these supporting environments (relative to production), they are still most likely owned and managed by different teams. Although privileges are greater than the higher environments there could still be limitations. For example, a software developer may have rights to execute certain SQL statements in the development database, such as creating a table, but would not have permission to create the actual database. This would be restricted to the database team and any database creation would have to be requested.

The testing environment is probably the most diverse area in terms of developer rights. In some organizations testing is only slightly different from development; developers have rights to install software and review logs but cannot edit files or directory structure. Developers may also work directly with individual testers to step through testing and fix defects (bugs) on the fly. This could pose a problem however if the developer is not diligent about keeping the code in development up to date. Many organizations have deemed this strategy too risky and no longer operate in this fashion.

Many organizations now treat the testing environment as pre-production and allow very limited or even no developer access. In these cases dedicated support teams would use installation programs or other tools to install the application and the developer would have no access to tweak the installation, directly review logs or files, or modify code. The users at this stage are the Quality Assurance (QA) team; the group that takes the original business requirements and exercises the application to ensure all the requirements are met. They would test the application for a specific period of time, and then produce a list of defects. This list would be given to developers who would work on them in the development environment before having the code re-installed in the testing environment. In this process it is important that the code remain unchanged while the testers are testing because they are in effect simulating end users.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Practical software development techniques : tools and techniques for building enterprise software»

Look at similar books to Practical software development techniques : tools and techniques for building enterprise software. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Practical software development techniques : tools and techniques for building enterprise software»

Discussion, reviews of the book Practical software development techniques : tools and techniques for building enterprise software and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.