PART I TE RI AL An Introduction to Visual Studio LightSwitch MA CHAPTER 1: Prototyping and Rapid Application Development CHAPTER 2: Getting Started with Visual Studio LightSwitch TE D CHAPTER 3: Technologies behind a LightSwitch Application CO PY RI GH CHAPTER 4: Customizing LightSwitch Applications
1 Prototyping and Rapid Application Development WHAT YOU WILL LEARN IN THIS CHAPTER ➤ Coping with the main challenges of line-of-business software development ➤ Understanding how application prototyping can help you cope with those challenges ➤ Understanding rapid application development, and how it is related to Visual Studio LightSwitch Microsoft is known as a company delivering great development tools.
❘ CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT their database tables, forms, and reports. However, the price of this simplicity is that Microsoft Access has strong architecture limitations — it supports only monolith or traditional client-server application architectures. Creating a bit more complex user interface (UI) logic or data validation with Access than the default one requires advanced programming skills.
Line-of-Business Software Development Challenges ❘ 5 LOB Software Development There are many reasons why companies may need to develop LOB software, including the following: ➤ To create an application that meets business needs not currently met by existing systems ➤ To develop satellite applications to support existing systems ➤ To establish an ergonomic user interface (UI) for a legacy system Traditionally, software development projects involve team members and stakeholders both from the business s
❘ CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT (what the system is expected to do) and all quality requirements (performance, service level, UI, robustness, security, and so on), which form the basis for the detailed system specification or system design. NOTE Many software development methodologies and frameworks do not use the term requirement specification. However, each has some artifact that outlines and describes what the sponsors and users want — whatever that artifact is called.
Line-of-Business Software Development Challenges ❘ 7 NOTE Not the range, but the content of a requirement specification makes it useful or useless. A good specification describes both functional requirements (what functions the system has) and quality requirements (how the function should work by means of performance, reliability, user friendliness, and so on). Defining requirements with measurable expectations (“. . . this function must retrieve the results in 2 seconds . . .
❘ CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT You can even vary how often you provide feedback to your users. At the beginning (during the conception phase or while designing the application), it might be appropriate to communicate progress every few days. In some cases, you can even carry out a feedback cycle within one day. For example, in a morning meeting, you might ask key users for feedback about a new screen issued the previous day.
Application Prototyping Logo & Tagline Search Menubar Focus Area <4-5 pictures (smooth animations) changing cyclically.
❘ CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT ➤ A wireframe is also a good start for the final web design, because it relays a lot of information about the intentions of key users that is useful to the experts who create the graphical design. Proof-of-Concept Models For any project, any piece of information you are lacking is a source of risk. If you are unsure how to carry out any of the tasks in your to-do list, then that is also a source of risk.
Rapid Application Development ❘ 11 Because this prototype focuses on the process, you can create only a sketchy UI with a very basic design and a draft layout. Moreover, it does not have to deal with authentication, business logic parameterization, or any other things that are not closely related to the workflow.
❘ CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT The main strength of the RAD approach is that you can avoid a vast amount of rework in your software development projects. Rework most often occurs in the following two cases: ➤ You implement a piece of software in a wrong way, or with poor quality. In this case, you must spend resources to fix development issues. ➤ You implement a wrong piece of software — not the one expected by its key users, but something else.
Rapid Application Development ❘ 13 position. The behavior of controls could be changed by setting up the properties of visual elements. Forms and their controls had events represented by methods, with which programmers could code the logic of the application. Visual Basic has evolved a lot since then, but using current development tools (such as Visual Studio), you can recognize that the elements of the integrated development environment (IDE) still resemble those used in the old versions.
❘ CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT It used the Object Pascal language — a successor of Turbo Pascal — which provided full objectoriented programming (OOP) capabilities, in contrast to Visual Basic. The product evolved very fast with five versions released in the fi rst five years of its life. Delphi was the fi rst RAD tool capable of compiling 32-bit applications for Windows. It became very popular among enterprise developers because of its RAD features.
Summary ❘ 15 Visual Studio LightSwitch and RAD Visual Studio LightSwitch is the newest member of the Visual Studio family. Like Visual Basic, Microsoft Access, and Delphi, it is a RAD tool; but as its name suggests, it aims to make the development of LOB applications as easy as fl ipping a switch. Most RAD tools are development environments made for programmers, and they provide productivity tools that enable the faster creation of applications. Visual Basic and Delphi are defi nitely such tools.
❘ 16 CHAPTER 1 PROTOTYPING AND RAPID APPLICATION DEVELOPMENT In Chapter 2, you’ll extend your knowledge about the role of LightSwitch among the members of the Visual Studio family. You will learn both how to install LightSwitch and how to create your fi rst application — without writing any lines of code. EXERCISES 1. Enumerate and explain a few challenges of LOB application development with regard to the human factor. 2. Explain what a wireframe is. 3. Explain what a proof-of-concept model is.
Summary ❘ 17 WHAT YOU LEARNED IN THIS CHAPTER TOPIC KEY CONCEPTS Line-of-business (LOB) application A LOB application participates in managing the business processes of an organization. Challenge of changing project environment The environment of a project (one with the duration of several weeks, months, or even years) changes. Project planning must be undertaken with possible changes (legal, political, economic, human, technological, and so on) kept in mind.