Part 1
Part 1 QUESTION 1 A) CHALLENGES IN THE 21ST CENTURY In the 21st century, Information Systems are facing a series of complex issues, as the the areas of global economy, digital economy and electronic commerce. In the global economy competition can come from everywhere in the world as the been seen in terms of deregulation, removal of trading restrictions, breaking up of monopolies, adoption of euro, improved physical transport capabilities and labor costs although many other areas have been affected. Looking at the digital economy, the convergence of computing and telecommunication technologies has proven to have a huge effect on businesses and society in general. As companies seek to create more digital content in their products and services, organizations have how they have become potentially affected within their operations, products, services, information, markets, competition, and economic environment. While information systems and other parts of the businesses have reached for the online market, the impact of e-commerce have become huge for almost all industries. In order to assess these changes, a business could apply a change management system, which usually involve procedures to document a change request as well as impact of the change. One or more project stakeholders (users, customers, analysts, developers) are often the ones initiating these change requests.
B) SOFTWARE ENGINEERING AND OTHER ENGINEERING FIELDS Software engineering can be very intangible and hard to visualize compared to more standard forms of engineering. On the contrary to engineering being based on regular science, software engineering are based on computer science. Software engineering can further be less costly. With regular engineering, the blame of failing projects can often be assessed to construction, manufacturing or maintenance crews. Quite failing projects.
2
Part 1 C) SYSTEM DEVELOPMENT METHODOLOGIES In the following, I will suggest appropriate system development methodologies to be used as a basis for managing the development of 4 information systems. While all
at with the following cases • When developing a system to control anti-lock braking in a car, it is important to address the issues of security, making it important to look at documentation standards, validity of design and separation of logical and physical designs. As security issues should be possible to address very quickly, the system should be designed for change. As new technologies are constantly entering the market, the system should scan for opportunity. • With a virtual reality system to support software maintenance, is is important to gain an understanding of the information resource in the early stage of development. The end-product should be able to ‘learn’ habits of its users, making it important to look into designing for change, ongoing relevance and consideration of user goals and objectives. While the system is both handling data from users and the software maintenance, the system should be able to separate logical and physical designs. With a focus on usability, it is important to apply simplicity, effective communication and participation. Conclusively, it is important for such system to increase productivity, which can be covered through regular use of planning and control. • A university accounting system that replaces an existing legacy system effective problem analysis as well as documentation standards consideration of goals and objectives a huge focus on validity of design and separation of logical and physical designs.
•
phase-focused implementation as well as the ongoing relevance. With an interactive travel planning system that helps users plan journeys with the lowest environmental impact, it is relevant to consider the documentation standards, the information systems boundary and gain an understanding of the information resource effective problem analysis and consider automated development. From a user perspective, it is further very important to consider user goals and objectives, simplicity, effective communication and participation. As the product can be considered to reach similar markets, a scan for opportunity can evidently become relevant to apply.
3
Part 1 QUESTION 2 A) AGILE METHODS While there are many advantages of developing with agile methods, there are a few implications worth noting. As the team is essential for the success of projects developed bound to result in problems. As the projects are constantly revisited, the requirements can often change, which can be both costly and time-consuming. Many projects have failed as a result of such unfocused approach to their projects. Agile methods are the timescale is unpredictable. If it is not possible to predict future tasks (e.g. in terms of refactoring a system or tuning the performance), then another approach than agile, should be considered. When initiating a project it is generally of high importance to
B) THE REQUIREMENTS ENGINEERING PROCESS Both user requirements and system requirements are of utter importance, as they approach two main views of the system. The perspective, however, is entirely different. While the system requirements are build from the clients input with a focus on functional and non-functional requirements, the user requirements are based on the user point of view. The system-requirements can be viewed as the core of the software (describing what the system does and does not), while user requirements is more an overlay to this (describing in layman terms how the software is expected to behave). While a before the user requirements have been considered.
C) BENEFITS OF GOOD USER INTERFACE DESIGNS Having a good user interface design is essential to the to users, as it encourages an easy, natural and engaging interaction between the users and the system. A good and
as possible, by giving the users accurate
this approach. With a structured and well-considerate design, the users tend to feel more comfortable with the system. This is important, as a good experiences can result in good reviews and effectively reach new users. As wasted time can result in leaving customers, the position of elements and the structure should be as intuitive as possible. Having a nice-looking, consistent and navigation-friendly design can result
4
Part 1 in users becoming unaware of the mechanisms behind the system, which encourage the user to use the system more often.
QUESTION 4 A) USE SCENARIOS Use scenarios are narrative stories representing how a system could be used. The functional behaviors. The technical details are limited, since the use scenario is often used among stakeholders to address more fundamental purposes of the system. A use scenario can be used to help addressing the fundamental use of a system and thereby indicating both how it is intended to be used as well as what is not intended with the system. A use scenario can furthermore help in the understanding of use cases, while these are often developed at the same time.
B) USE CASES While the use scenario is very descriptive and narrative, the use case is visualized in a diagram, which shows the interactions between roles (or actors) and systems engineering, it is possible to reveal both requirements needed for the system as well as contrary goals. While the use case can be developed iteratively with the system itself, it is important to address that the simplistic nature of use cases makes it impossible to include all relevant cases.
C) USE SCENARIOS FOR AN ATM MACHINE SCENARIO 1 John is by the airport waiting for an airplane to Egypt, when he realizes that he have forgotten to withdraw Egyptian Pounds. Luckily there is an ATM nearby. When John inserts his credit card, the machine initially prompts for his pin code. As his pin code is typed on the screen, the ATM shows John the ability to withdraw only English Pounds. ‘Oh my…’, John thinks to himself untill he realize the appearance of an exchange symbol. When he touch that icon, he is represented with a large collection of currencies, of which Egyptian Pounds are presented. 1000 Egyptian Pounds are withdrawn and
5
Part 1 SCENARIO 2 J端rgen and Paula are travelling through Europe. For the last couple of days, they have been looking for an ATM with no luck. As they arrive in a bigger city in Poland, they
in English. Within a few minutes, the couple have withdrawn the necessary amount money for the next couple of weeks.
QUESTION 5 A) TESTING SOFTWARE As software are often very complex parts of code, it is essential to have an organized approach to testing both individual parts of the system as well as the whole system. The goals for testing units or modules individually can both be to demonstrate that the written code meets the requirements and to discover situations in which the behavior of the software behaves incorrectly. By testing software components individually, you are able to discover problems on an early stage. While some errors can hide other errors, testing the components on a regular basis can help indicating when a function was working and when it was not, making it easier to address system crashes. In regards to unit testing, every unit of code is tested as soon as it is complete, which help to expose faults in the unit itself regardless of its interaction with other units.
B) PROJECT MANAGEMENT, PROGRAM MANAGEMENT AND PORTFOLIO MANAGEMENT The project management approaches to dealing with project management, including agile, PRINCE2 and traditional phase-oriented approaches. Most of these approaches use a hierarchy of strategic plan including both program management and portfolio management. Program management covers a group of related projects, which are gathered program management, several associated projects are gathered to contribute to the achievement of a strategic plan. The program manager has an oversight of the progress of all projects within the program, which can be used to provide a decision-making capacity that is not achievable at project level or by providing the Project Manager with a program perspective when required.
6
Part 1 A collection of projects or programs working towards the same strategic business objectives are referred to as portfolio management. The projects or programs in the portfolio may not necessarily be interdependent or directly related. A company developing apps will need project management for managing the similar tasks and to control the progress. All their apps will be included in their portfolio.
7
Part II
Part II Festival Ticket Management System (FTMS)
QUESTION 6 A) FUNCTIONAL AND SUBFUNCTIONAL REQUIREMENTS F1: BUY TICKET
F1.1: Retrieve availability and price of festival F2: CHOOSE TICKET TYPE(S) AND AMOUNT
F2.1: Amount of Adult Tickets F2.2: Amount of Student Tickets F2.3: Amount of Group Tickets F3: REGISTER CUSTOMER INFO (PER TICKET)
F3.1: Enter name F3.2: Enter address F3.3: Enter telephone number F3.4: Enter mail address F4: CHECKOUT
F4.1: Retrieve total costs of purchase F4.2: Enter payment details F5: ACCEPT AND IDENTIFY PURCHASE
F5.1: Send QR-code(s) to customer(s) F6: SCAN & CHECK TICKETS
F6.1: Register amount of visitors F7: VIEW ACCESS
F7.1: Retrieve info about festivals and tickets F7.2: Load statistics of available tickets, used tickets etc. F8: ADD / EDIT ACCESS
F8.1: Commit changes to tickets and festivals F8.2: Add new festivals F8.3: Add tickets to festivals
8
Part II F8.3.1: Add student tickets to festivals F8.3.2: Add adult tickets to festivals F8.3.3: Add group tickets to festivals
B) USE CASE DIAGRAM FOR THE FUNCTIONS IN FTMS
9
Part II C) SEQUENCE DIAGRAM FOR ‘BUY A SINGLE FESTIVAL TICKET’ IN FTMS
QUESTION 7 DATABASE MODEL I propose the following structure for the database model, where I include the following entities: Festival: for storing festival information Ticket: for storing information of all individual tickets, including a QR-code, the status of the ticket and a reference to the TicketType TicketType: for storing all ticket types, making it easier to add new types and new prices
10
Part II Users: for storing information of all users of the software, including staff and customers Payment: for storing information regarding payments, making the ticket valid. primary keys), storing data (e.g. FirstName) or for adding relationships (e.g. UserID). With the above considerations in mind, I have created the following E/R Diagram.
QUESTION 8 aspects: Identify the target group similar systems and which devices they are primarily using. First launch the user decides whether to use the system or not. It is essential to consider what information to show at the launch page, e.g. information regarding how to use the service or an image of what they are going to get with their purchase.
11
Part II Content: it is important to consider showing only the most useful information both text and image-wise. Navigation: the design should include as few steps as possible from entering the site to purchasing, making it essential to both show the progress of the purchase as well as including as little text as possible. Page layout: it is important to consider simplicity, consistency, a fast loading time, device-responsibility and the psychology aspects of the colour schemes. The gestalt principles should in general be considered for all designs. Device optimization: while the app should work on multiple screen sizes, it is important to develop an optimized design for scalability. With the design of the FTMS, I will consider the target group and look into all of the considerations above.
QUESTION 9 As a wireframe can be used to quickly show the intention of a system, a GUI is closer to the end-product, making it easier for clients to see the full potential of a proposed system. To make the above design considerations as clear as possible, I have visualized the FTMS with a GUI. While I believe the system could work for the users on both tablets and smartphones, the visualizations below represent the system in a mobile web-application.
FIGURE 1 This is the main screen from a smartphone. With this launchpage, the concept of the system is initially revealed without much text (with logo, icons and images). The laws of simplicity combined with a bright and decent colour scheme is used to give the users a positive feeling of the app in the very beginning. With a focus on the target group, the colour of red represents action, energy and excitement and is often used in relation to concerts. The action-button is nicely situated at the bottom center of the screen, leaving the interaction as understandable as possible (usability and navigation).
12
Part II FIGURE 2 As we want to make the decision and the navigation the users, we are focusing on images from the festivals to help the users decide which festival they should chose to buy tickets for (usability). This is accompanied by the most important text for the festival: the name and the date of the event (simplicity). While the images are big buttons, which can guide the user festival, a small “i” at the corner of each image can guide the user to additional information about the festival.
FIGURE 3 With a huge focus on making the order simple screen only show the most necessary information regarding the ticket purchase. To keep the design consistent, the logo, the ‘i’ as well as the same colours are used again on this screen. The size of the text is furthermore the same. As the ticket order has been initiated, a progress bar at the bottom of the screen has appeared, giving the user an idea of how many steps is left (navigation).
13
Part II FIGURE 4 As the screen on mobile devices are all available space with care. On this screen, the user have the ability to input his or her personal information. To avoid misuse of space and a lot of scrolling, the text-boxes include placeholder text to clarify which text is needed in each simplicity and usability). The textsize, the logo and the progress bar are the same as the screen before, giving the design a consistent look.
FIGURE 5 To indicate how the screen could look for the staff, the following screen shows a simple table of recent purchases. the design have the same colour scheme, logo and simplistic feel, which makes the users feel like they are on the same platform (consistency). The site is furthermore optimized for various devices (scalability).
14
Part II To illustrate more aspects of the app, I have designed a few more screens, showing a consistent and user-friendly design.
15
Part II QUESTION 10 A) TESTING FTMS To test the FTMS, I would look into the following three phases: development testing, release testing and user testing. With development testing, we are able to test performing (unit testing). While the system are both integrating native technology from phones as well as browsers, it is furthermore essential to look deeply into the integration of various components in the application (integration testing). While many bugs and errors can arise, it is essential to perform tests of the whole system several times to reveal the performance and interaction between components (system testing). While is important to conduct multiple release testings with a focus on stress testing to uncover the robustness and reliability. To learn how each of the 3 users (consumer, staff and administrator) will receive the system, it is of huge importance to conduct both beta tests and acceptance tests. It is to my belief that a system like FTMS need to be as successful as possible by initial launch, as users might not return if they are
B) SCENARIOS FOR DISCOVERING TEST NEEDS CASE 1 available. Test: We need to test how the system responds, when a request is made for tickets that are not available.
CASE 2 A person wants to get a refund on his ticket. Test: We need to test that the QR-code is invalidated in the system when a ticket is cancelled, while a new ticket or code is generated.
16
Part II C) TEST CASES FOR F1.1: RETRIEVE AVAILABILITY AND PRICE OF FESTIVAL Test data
Preconditions
Expected results
Check how much time The app should be loaded It should take no longer you need to use in order and a timer should be set answer ticket for Distortion Search for how many The app should be loaded festivals are sold out
2
Find the price for the The app should be loaded festival STRĂ˜M 2014
250 DKK
Search Festival
The festival is not available in the system.
for
Roskilde The app should be loaded
17