Free Essay

Windows C# Game of Life

In:

Submitted By Kosovircek
Words 2096
Pages 9
VIŠJA STROKOVNA ŠOLA B2

SIMULACIJA ŽIVLJENJA,
CONWAY’S GAME OF LIFE

SEMINARSKA NALOGA PRI PREDETU
PROGRAMIRANJE 1

Mitja Gracar
Mentor: Aleksandar Lazarević

Kazalo vsebine UVOD 2 CILJI IN PRIČAKOVANJA 2 POTEK PROGRAMA 3 PREGLED PROGRAMSKE KODE 4 PRI ZAGOU WIN FORM 4 ZAGON IN USTAVITEV ANIMACIJE 6 ALGORITEM SIMULACIJE 7 RESETIRANJE SIMULACIJE 8 KONTROLA HITROSTI ANIMACIJE 9 IZVOZ IN UVOZ ZAČETNEGA STANJA POLJA 9 DODAJANJE IN BRISANJE KVADRATOV Z MIŠKO 10 ZAKLJUČEK 11 VIRI 12

UVOD

Za seminarsko nalogo pri predmetu Programiranje 1 sem se odločil v programskem jeziku Visual C# na operacijskem sistemu Windows izdelati grafični program simulacije življenja, ki upošteva pravila Conway’s game of life. Conway’s game of life je Conway-ov poizkus drastične simplifikacije Jhon von Neummanovega hipotetičnega matematičnega modela stroja ki bi lahko reproduciral samega sebe. Čeprav je Neumannu uspelo narediti matematični model, je bil ta zelo dolg z veliko pravili . Zaradi svoje preprostosti, Conway-ov model sicer uporablja le 4 pravila,je game of life veliko bolj poznana in popularna različica modela. Prav zato in zaradi količine podatkov na voljo sem se odločil, da bom raje poizkusil implementirati Conway’s game of life. Mislim da je to dober preizkus programiranja in reševanja problemov z vidika programerja. Za uresničitev naloge bom moral uporabljati več različnih podatkovnih tipov, jih spreminjati med sabo, uporabljati for in while zanke, implementirati if stavke in ker bom programiral na Windows-u bom moral poiskati in pravilno uporabiti številne funkcije, ki jih ponuja Windows okolje. Ne bom pa uporabljal razredov, ker mislim da so v tem programu nepotrebni.
CILJI IN PRIČAKOVANJA
Od programa pričakujem, da bo pravilno in z zadovoljivo hitrostjo simuliral Conway’s game of life ter potek simulacije s pomočjo grafike prikazal uporabniku. Uporabniku hočem omogočiti tudi, da ustavi in nadaljuje z simulacijo, spreminja hitrost simulacije, sam dodaja in briše polja s kvadratki. Želim pa tudi omogočiti uvoz in izvoz začetnega stanja simulacije.

POTEK PROGRAMA

PREGLED PROGRAMSKE KODE

PRI ZAGOU WIN FORM

Na začetku programske kode sem indetifikeral globalne spremenljivke. Spremenljivka int[,] polje predstavlja dvo dimenzionalno ploskev na kateri živijo kvadrati v simulaciji.

Ker sem izbral, da bo moj progam deloval na operacijskem sistemu Windows, je program, ki sem ga kodiral sam, le manjši del veliko večjega programa, ki je potreben za to, da moja koda deluje na sistemu Windows. Microsoft v ta namen ponuja svoje razvijalno okolje Visual Studio, ki samo poskrbi za vso potrebno inicialicijsko kodo, programerju pa ponudi funkcijo public Form1_Load(), ki se kliče ob zagonu Windowsovega okna. V to funkcijo napišemo kodo, ki bi jo radi sprožili ob čistem začetku programa.
Jaz sem to funkcijo izkoristil, da sem dvo dimenzionalno polje bool[,] polje napolni z vrednostmi false, ki naj bi predstavljalo ploskev brez življenja. Življenje (kvadratke) kasneje doda uporabnik sam.
Ker je polje dvo dimenzionalno sem za njegovo popolno napolnitev moral uporabiti dve for zanki.

Za prostor na katerem bo prikazana animacija simulacije življenja sem rezerviral velik kvadrat, ki zavzame večino prostora na oknu (700 x 700 px). V ta prostor bom grafiko risal sam, v programski kodi.
Na okno sem dodal 6 gumbov za uporabnikovo kontrolo poteka programa, funkcije gumbov bom opisal kasneje.
Ob zagonu (ali povečavi, premaknitvi, kliku miške..) okna Windows kliče tudi funkcijo onPaint(), ki je virtualne narave, zato sem jo lahko override-al in tako prvič na okno narisal virtualni svet kvadratov. Odločil sem se da bojo kvadrati črne barve zato sem naredil nov objekt razreda SoildBrush(ki je del okolja System.Drawing) in mu določil vrednost Color.Black. Za dejansko risanje na okno sem uporabil funkcijo razreda System.Drawing.Graphic FillRectangle(Soild Brush, Rectangle), ki kot parameter vzame objekt SoildBrush) in objekt Rectangle, kateremu je treba podati pozicijo zgornjega levega kota štirikotnika in velikost obeh stranic. Funkcijo FillRectangle sem klical za vsak element v polju polje mu podal myBrush in naredil nov objekt Rectangle. Parametri konstruktorja Rectangle bi lahko bili bolj preprosti Rectangle(I*7,j*7,7,7). Vendar sem spremenljivko polje namenoma naredil 10elementov(ali 70px) večje(v obe smeri) kot je dejanski prostor v katerega bom risal(700x700 px) pri velikosti 7x7 px za en kvadrat. To sem naredil zato, da robovi prostora v katerega rišem niso enaki robovom polja, saj pravila Conway’s game of life predpostavijo neskončni prostor, ki pa je v računalniku nemogoč in zato pri robovih pride do nepravilnosti izvajanja simulacije. S tem ko sem celotno polje zamaknil za 5 elementov(35px) levo in gor, so te nepravilnosti skrite pred uporabnikom (rešitev ni popolna vsaj se lahko zgodi, da se nekateri kvadrati, ki bi morali nadaljevati naprej, vrnejo nazaj v okno, kar pa se zgodi zelo redko).

ZAGON IN USTAVITEV ANIMACIJE
Prvi gumb na grafičnem oknu uporabniku omogoča zagon ali ustavitev animacije simulacije življenja.
Prva stvar ki jo preverim po pritisku gumba je; ali je trenutno stanje polja začetno stanje polja. To naredim ker želim v polje shraniPolje shraniti le začetno stanje polja, ki ga je narisal uporabnik in ga, če mu je bila simulacija všeč, kasneje lahko shrani v datoteko. Pri kodiranju tega dela kode sem sprva naredil napako(shrani Polje = polje;) pri tem nisem upošteval da so polja referenčnega tipa zato se je program obnašal kakor da nebi naredil if stavka. Preverim tudi ali animacija trenutno poteka, in če potem jo ustavim, ali obratno. To sem naredil zato da lahko animacijo začnem in ustavim z istim gumbom.
Z naslednjo kodo pa poženem simulacijo. Sprva moram narediti nov Thread, saj bi drugače konstantna while zanka na istem Treadu zamrznila aplikacijo. To naredim z klicem Task.Run(() => , vse znotraj tega klica poteka na novem Threadu. Potem še enkrat ustvarim objekte SolidBrush in Graphics. Ker ta dva objekta v isti obliki v programu uporabim večkrat bi bilo bolje da bi jih naredil kot globalni spremenljivki. Potem pa znotraj while zanke, ki je pod pogojem running(ki ga uporabnik spreminja z klikom na gumb) sprva kličem lastno funkcijo updatePolje(), ki naredi naslednji korak v simulaciji(funkcijo razložim pod naslednjim naslovom). Nato pa na popolnoma enak način kot v funkciji onPaint() na okno narišem trenutno stanje polja. Tudi tukaj bi lahko programsko kodo naredil bolj modularno, tako da bi naredil funkcijo ki na ekran nariše trenutno stanje polja. Vendar se v času programiranja nisem zavedal da bom potreboval funkcijo onPaint() tako da posebne funkcije nisem potreboval. Znotraj while zanke pa tudi ustavim Thread za 50 milisekund, zato da animacija ne poteka prehitro. Tukaj bi bilo bolje da bi izmeril čaš poteka simulacije in dal v pogoj while zanke pretekli čas, vendar nisem našel ustrezne funkcije, ki bi mi podala pretekel čas v milisekundah in ker lahko uporabnik hitrost animacije kontrolira sam to ni bilo nujnega pomena.

ALGORITEM SIMULACIJE
Algoritem animacije služi kot posodobitev dvodimenzionalnega sveta kvadratov za en časovni korak, zato sem funkcijo poimenoval updatePolje() funkcijo bom zaradi svoje dolžine predstavil v dveh delih.
Prvi del funkcije za vsak kvadratek v polju preveri stanja vseh njegovih sosedov. Ker so kvadrati eni zraven drugega na dvodimenzionalni ploskvi, ima vsak kvadrat natanko 8 sosedov in vsak izmed njih ima lahko stanje true ali false, ki ponazarjata ali je kvadrat na tej poziciji živ ali mrtev. To preverim tako da grem z dvojno for zanko skozi vse elemente in za vsak element preverim 8 drugih elementov ki ležijo na pozicijah levo, desno(indeks j + ali -1), gor dol(indeks I + ali - 1)ali pa levo zgoraj, desno zgoraj, levo spodaj, desno spodaj(vse kombinacije indeksov i in j + ali - 1).(v pisanju seminarske naloge se zavedam da sem narobe poimenoval spremenljivke vendar to ne igra vloge pri poteku samega programa). V naslednjem delu kode pa dobljene vrednosti sosedov spremenim v Integer vrednosti 1 ali 0, to naredim zaradi pogojev opisanih v drugem delu funkcije. Ta del kode bi bil lahko opuščen če bi polje polje namesto bool[] naredil int[]. Tega nisem naredil, ker sem sprva mislil da operacije med podatkovnimi tipi bool računalnik izvaja hitreje kot operacije tipa Integer . Vendar po nadaljnjem branju v to nisem več prepričan in mislim da je razlika hitrosti odvisna predvsem od arhitekture procesorja.

Na začetku funkcije sem identifikiral tudi spremenljivki toChangeT (elemente polja ki jih je treba spremeniti v true) in toChangeF (elemente polja ki jih je treba spremeniti v false) tip List, ki deluje na podoben način kot polja, vendar mu ni treba določiti velikosti.
V drugem delu funkcije pa izpolnim pogoje oz. pravila ki jih določa Conway’s game of life. Pravila se glasijo: 1. Vsako živo polje ki ima manj kot 2 živa soseda umre zaradi premajhne populacije 2. Vsako živo polje ki ima natanko 2 ali 3 žive sosede preživi v naslednji časovni korak 3. Vsako živo polje ki ima več kot 3 žive sosede umre zaradi prevelike populacije 4. Vsako neživo polje ki ima 3 žive sosede oživi zaradi reprodukcije
Pravila igre sem v svoj program uvedel s pomočjo if stavkov.
Najprej sem v spremenljivko pogoj seštel število vseh sosedov in jo potem uporabil kot eden od pogojev if stavkov .
Vsak if stavek po vrsti ponazarja eno od pravil igre po vrsti. Znotraj if stavka pa glede na rezultat pogojev v toChangeF ali toChangeT dodam indeks trenutnega elementa polja. Skozi oba lista pa, zunaj glavne for zanke algoritma, z for zanko dobim indekse vseh elementov ki so se glede na prejšnje stanje polja spremenili in jih spremenim. To moram narediti zunaj glavne for zanke zato, ker bi drugače direktne spremembe kvadratkov imele takojšne posledice na naslednje kvadratke v polju. Kar pa ne deluje v skladu z pravilom simulacije, da so vsi kvadratki spremenjeni istočasno.

RESETIRANJE SIMULACIJE
Drugi gumb na oknu uporabniku omogoča resetiranje stanja simulacije na stanje brez življenja.
Najprej ustavim simulacijo s tem da spremenljivki running določim vrednost false; Spremenljivki reset pa true , da program ve da je trenutno stanje polja spet začetno stanje.
Tako kot v funkciji From1_Load() vsem elementom v polju dodelim vrednost false, ki ponazarja stanje brez življenja. Spremenim tudi tekst prvega gumba, da uporabnik ve da lahko simulacijo zažene na novo. this.Refresh() pa ponovno nariše okno(da nariše prazno stanje).
KONTROLA HITROSTI ANIMACIJE
Gumba + in – pa uporabniku omogočita da kontrolira hitrost animacije. To dosežem tako da preprosto dodam ali odvzamem 5 globalni spremenljivki hitrost , ki jo uporablja koda v funkciji za gumb1, ki se izvaja na svojem Threadu.

IZVOZ IN UVOZ ZAČETNEGA STANJA POLJA
Gumba za uvoz ali izvoz uporabniku omogočata, da shrani ali uvozi začetno stanje simulacije. Večina kode v teh dveh funkcijah je del kode Windowsa in je zato nebom natančneje opisoval. Pri obeh primerih odprem dialog da lahko uporabnih poišče ali nastavi mesto in ime datoteke. Seveda more biti datoteka pravilno napisana da jo program lahko pravilno uporabi.
V primeru uvoza z razredom StreamReader preberem vsako vrstico v izbrani text datoteki in njeno vrednost, true ali false, po vrsti shrani v vsak element polja.

V primeru izvoza pa v podano datoteko v vsako vrstico izpišem vrednosti vseh elementov v polju.

DODAJANJE IN BRISANJE KVADRATOV Z MIŠKO
Program uporabniku z klikom miške omogoča risanje in brisanje kvadratkov v polje. Omogoča pa tudi držanje miškinega gumba in risanje.
S pomočjo Windowsove funkcije OnMouseClik() zaznavam kdaj je uporabnik kliknil znotraj polja simulacije in glede na koordinate klika izračunam pozicijo elementa v polju polje. Indeks elementa dobim tako da pozicijo delim z velikostjo kvadratka in prištejem 5(zaradi zamika polja). Če je polje mrtvo(false) ga naredim true, ali obratno.
Podobno kot v prejšnji funkciji tudi tukaj zaznavam pozicijo in klik, vendar moram klik zaznati s posebnima funkcijama OnMouseDown() in OnMouseUp(). Na razliko od prejšnje funkcije ta funkcija ne more brisati kvadratkov.

ZAKLJUČEK

Z zaključenim izdelkom sem zadovoljen, mislim da sem dosegel vse cilje, ki sem si jih zastavil pred začetkom seminarske naloge. Med samim programiranjem in kasneje pisanjem seminarske naloge, pa sem opazil, da je programu mogoče dodati veliko izboljšav. Izboljšav nisem dodal pred pisanjem seminarske naloge, ker sem si zadal določen čas za izdelavo programa in v tem času izboljšav še nisem opazil. Izboljšave so predvsem modulacijske narave. Programu bi moral imeti posebno funkcijo za risanje kvadratkov na ekran, vsaj sem isto kodo moral pisati dvakrat. Prav tako sem dvakrat pisal enako kodo, ki polje polje spremeni v stanje brez življenja. Če bi program delal še enkrat bi polje polje raje naredil tipa int[,] in bi se tako rešil delčka kode, ki je sedaj potreben za pretvarjanje bool v int. Zavedam se tudi da način risanja grafike ni najbolj optimalen za igre, vendar so bili drugi boljši načini kot so openGl trenutno prezahtevni.

VIRI

Kot vire sem uporabljal Gradivo pri predmetu PRO1 višja strokovna šola B2.
Ter pa stackoverflow.com in msdn.microsoft.com vendar sem na teh dveh straneh pregledal veliko različnih primerov in si jih na žalost nisem zapisoval.

Similar Documents

Free Essay

Wp7 for Android

...Microsoft6/6/2011Rev 1.0 | | Windows Phone 7 Guide for Android Application Developers | | About this Document 4 Target Audience 4 Conventions Used in this Document 4 Chapter 1: Introducing Windows Phone 7 Platform to Android Application Developers 5 The Developer Tools 5 Windows Phone 7 Architecture 5 Comparing the Programming Stack of Windows Phone 7 with Android 7 Summary 11 Related Resources 11 Chapter 2: User Interface Guidelines 12 Designing the Application Interface 13 Application User Interface Design 14 Comparing Windows Phone 7 and Android Navigation 18 Windows Phone 7 Frame and Page Structure 19 Application Templates 21 Summary 21 Related Resources 21 Chapter 3: The Developer and Designer Tools 23 A Comparison of Android and Windows Phone 7 Tools 23 Development Life Cycle and Windows Phone 7 Developer Tools 24 The UI Design Tools 26 Building Applications 33 Debugging 34 Summary 38 Chapter 4: C# programming 39 Managed Programming 40 A Comparison between C# Features and Java Classes 41 A Comparison of Important Class Libraries 51 The New features of C# 54 Comparing API Documentation Tools 58 NDoc 58 NDocs vs. Javadoc 61 Summary 61 Related Resources 62 Chapter 5: A Comparison of Application Life Cycles in Windows Phone 7 and Android 63 Multitasking in Android and Windows Phone 7 63 Tombstoning of Applications in Windows Phone 7 64 Life Cycle of a Windows Phone 7 Application 64 Role...

Words: 19181 - Pages: 77

Premium Essay

Whac a Mole

...Software Requirements 8 4.11. Hardware Requirements 8 4. Project Details 5.12. Overview of Games 9 5.13. Genres 9 5.14. Classification 10 5. Implementation 6.15. Header Files Used 11 6.16. Functions Used 12 6. Source Code 17 7. Snap Shots 27 8. Conclusion 31 9. Bibliography 32 COMPUTER GRAPHICS Overview The term computer graphics includes almost everything on computers that is not text or sound. Today nearly all computers use some graphics and users expect to control their computer through icons and pictures rather than just by typing. Computer graphics is the field of visual computing, where one utilizes computers both to generate visual images synthetically and to integrate or alter visual and spatial information sampled from the real world. The term Computer Graphics has several meanings: * The representation and manipulation of pictorial data by a computer. * The various technologies used to create and manipulate such pictorial data. * The sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content. This field can be divided into several areas: real-time 3D rendering (often used in video games), video capture and video creation rendering, special...

Words: 5144 - Pages: 21

Free Essay

Developing 2d Games

...extreme popularity of mobile devices has created an essential industry for mobile applications and games that continues to grow extremely rapidly. There are tons of different kinds of mobile devices available now in the market and due to this availability, it is very important for a developer or a development company to target the right mobile platform and development environment. To maximize the sale or popularity of an application, cross-platform development is necessary and this is significantly important for mobile game or application development. Portability across different platform will definitely enhance a broader category of users. Over the years, development of mobile games involved hard work. Professional software developers and programmers were hired by companies to develop games and it also consumed a great amount of time to bring perfection in a game. But recently, it is seen that independent developers and also people with very little or no programming knowledge are building games and application on a regular basis and many of those games were not only being played but also received tremendous amount of success as well. For example, 14 year old Robert Nay developed Bubble Ball which literally knocked the famous Angry Birds down from top position. In this study, review will be conducted about a scripting language called Lua, which is used to develop games and applications and a review about Corona SDK, which is a...

Words: 3241 - Pages: 13

Premium Essay

Exploring Linux Operating Systems

...Linux. This is a Debian based system with a rather simple user interface, and comes standard with a GUI and a host of tools that would make the system useable, and sufficient for most average users. On the other side of the spectrum there are targeted distro’s like KALI whose audience is more on the professional side. This particular distro is pre-loaded with tools that only a professional or an enthusiast would find useful at all. With such a wide range of options, there should be something for everyone. Linux based systems are still mostly used as servers. The home user market is still very small, but for specific professional use cases there are few better environments to work with. For most users, windows is the tried and true work base, but I find that Windows provides too many distractions to get most of my work done. When I drop into Linux, most of these distractions are gone. Most...

Words: 1171 - Pages: 5

Premium Essay

Sdasdasd

...APPLICATIONS OF COMPUTER A I D E D INSTRUCTION By C. Hendrickson, 1 A. M. ASCE, A. Pasquale, 2 W. Robinson, 3 and M. Rossi-Velasco 4 i ABSTRACT: Computer aided instruction (CAI) offers numerous advantages for education and training when properly designed and implemented. Recent computer developments in hardware and software enhance the effectiveness and reduce the cost of CAI. We review recent developments, using CAI programs designed and developed by the writers as examples. Experience with the use of CAI in a large general contracting and construction management firm is also reported. Our survey concludes that CAI can now be widely adopted for training and education supplements in civil engineering. INTRODUCTION In the past few decades, n u m e r o u s enthusiasts have predicted a revolution in education through the adoption of computer aided instruction (CAI). While the CAI revolution m a y still b e distant, some n e w developments make CAI a practical and extremely beneficial supplement for education a n d on-the-job training in civil engineering. For example: • Construction executives use a microcomputer-based business game to develop and test m a n a g e m e n t strategies as part of Stanford University's continuing education program (2). Each student is challenged to create a profitable contracting firm in the game, b u t the real payoff comes from n e w insights into techniques a n d strategies. • Employees at Mellon-Stuart Company, a large general contracting...

Words: 3922 - Pages: 16

Free Essay

Browser Mostly Used

...Chapter I Introduction A. Background of the Study A browser is software application that provides a way to look at and interact with all the information on the World Wide Web (Goertz, 2001). It uses HTTP to submit requests of web servers over the Internet on behalf of the browser user. Web browser is use for retrieving and presenting information resources identified by a Uniform Resource Identifier (URI) that may be video, image, web page, or other kinds of content. It can also be used to access information provided by web servers in private networks or files in file systems. There has been a virtual explosion of browsers which are designed according to their operating system and others, target specific users such as those majoring on social networking. There are also clones of established browsers such as Firefox and Google Chrome which seek to improve on the original by being “leaner” of offering different features (Anonymous, 2011). According to Bowler (2009) the browser world have spent time focusing on delivering their product to multiple OS. This helps them build many of the browsers such as Mozilla Firefox, Google Chrome, Opera, Internet Explorer and Safari. Mozilla started from scratch — Firefox was the result. And now users have no shortage of browsers to choose from, partly due to the work of the Mozilla foundation. the first full point release of Mozilla’s popular open-source Web browser in nearly three years, combines user-interface, performance and Web-standards...

Words: 8185 - Pages: 33

Premium Essay

Veyya

...VIDEO GAMES CONSOLE The games console industry is divided into three periods. The first period is the growth of the industry to the advent of the 32 bit era. The next period is the developments and trends during the PlayStation era and the third is the likely development of the industry over the next few years BRIEF HISTORY OF THOSE PERIODS and THEIR REVENUES (The Evolution of the Game Console Industry) In 1994 , the first time that consumer electronics giant Sony had bravely attempted to enter the highly competitive games console market. Going under the catchy, self–explanatory name PlayStation, this 32–bit, CD–based system hit Japan in December and faced tough competition from 'The Big Two' in the form of Sega's fundamentally similar Saturn, and Nintendo's upcoming Ultra 64. By May 1995, barely six months after the release of PlayStation, over 1 million Japanese gamers had become converts. Games like Toshinden, CyberSled, Jumping Flash!, and a host of other, decidedly more obscure titles (our favourite is Chou Aniki – Kyuukyoku Muteki Ginga Saikyo Otoko – literally 'Super Older Brother – The Galaxy's Absolutely Invincible Strongest Man') helped to propel sales, impressing players with their advanced 3D visuals and diverse gameplay. By October, worldwide PlayStation shipments had reached 9 million, and with the arrival of huge sequels such as Tekken 2, Ridge Racer Revolution and Wipeout 2097. In a year that saw cosmologists announce that the expansion...

Words: 3058 - Pages: 13

Free Essay

Algebra Syllabus

...|[pic] |Syllabus | | |Axia College | | |MAT/117 Version 7 | | |Algebra 1B | Copyright © 2010, 2009, 2007 by University of Phoenix. All rights reserved. Course Description This course explores advanced algebra concepts and assists in building the algebraic and problem-solving skills developed in Algebra 1A. Students solve polynomials, quadratic equations, rational equations, and radical equations. These concepts and skills serve as a foundation for subsequent business coursework. Applications to real-world problems are also explored throughout the course. This course is the second half of the college algebra sequence, which began with MAT/116, Algebra 1A. Policies Faculty and students/learners will be held responsible for understanding and adhering to all policies contained within the following two documents: • University policies: You must be logged into the student website to view this document. • Instructor policies: This document...

Words: 2141 - Pages: 9

Premium Essay

Smartphones Operating Systems

...function. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and will frequently make a system call to an OS function or be interrupted by it. Operating systems can be found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers. Examples of popular modern operating systems include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS. All these, except Windows, Windows Phone and z/OS, share roots in UNIX. Smartphone A Smartphone, or smart phone, is a mobile phone built on a mobile operating system, with more advanced computing capability and connectivity than a feature phone. The first smartphones combined the functions of a personal digital assistant (PDA), including email functionality, with a mobile phone. Later models added the functionality of portable media players, low-end compact digital cameras, pocket video cameras, and GPS navigation units to form one multi-use device. Many modern smartphones also include high-resolution touchscreens and web browsers that display standard web pages...

Words: 15551 - Pages: 63

Premium Essay

Wla Lang

...METHODOLOGY The proponents will use the System Development Life Cycle (Fig. 1) in developing the system processes the procedure was seen as flowing downwards to the phases of planning, analysis, design, testing, implementation and maintenance. If error arises in the testing phase, the proponents can go back to the previous phases including analysis and design and development phases to analyze and identify the problem and to come up with a good output. Planning Proper planning was done in order to come up with a good output. In this phase, the proponents collected information through suggestions that helped the researchers to improve the flow of tutorial and lessen the difficulties occurs. The proponents listed many option of tutorial titles and different games to be used in making the actual system. As additional information, the proponents used the Library of CvSU- Carmona Campus to gather ideas from existing studies. They also used internet as their source for updates in current system development trends. Figure 1. System Development Life Cycle (SDLC) Analysis The proponents had a session for them to analyze the applications that they will be using that can help in development of the actual system and the proponents analyzed the right and accurate design that will be using in making the system. After gathering...

Words: 547 - Pages: 3

Premium Essay

Term Paper

...Project Factors (Software development cost estimation approaches – A survey (2000), by by Barry Boehm , Chris Abts , Sunita Chulani) Estimation Dimension Effort Hours Project Factors Customer Complexity Customer Geography Developer Familiarity Business Function Size Target System Sophistication Target System Complexity Effort Hours Staff Productivity Skill Level Development Rate at Each Skill Level System Category Generic System Type Operating Window Transaction Volume System Size Project Structure Target Technology Resource Needs of Concurrent Projects Relative Project Risks Page: 2 Staff/Cost Hardware Risk Portfolio Abdelghani Bellaachia, Advanced Software Paradigms  The development of a software application requires a set of steps: a software lifecycle. o Requirements (Relative Cost 2%) o Specification (analysis) (Relative Cost 5%) o Design (Relative Cost 6%) o Implementation (Relative Cost 5%) o Testing (Relative Cost 7%) o Integration (Relative Cost 8%) o Maintenance (Relative Cost 67%)  Software Life Cycle (Lecture...

Words: 697 - Pages: 3

Free Essay

My Past

...dad C. Youngest of three children 2. What things I remember from childhood? A. Summer vacations B. Christmas time C. Pajama days 3. What jobs I had in my life? A. Sales clerk B. Receiving C. Childcare aide 4. What are my personal, professional, and academic goals? A. To become self sufficient B. Becoming a preschool teacher C. Earning my college degree My mom is more like a best friend than my mother. She is an inspiration to me when it comes to going back to school and exceeding my own expectations in life. My mom had gotten married when she was only 18 years old. My mom has a passion teaching children who are autistic and severely disabled. She takes time out of her busy day to spend time with me and take me out to different places to have a good time. She always knows what to say to me when I am not feeling good. My dad means the world to me. I don’t know what I would do without him in my life. My dad is the most generous person that I have ever met in my life. He will help anyone out with whatever they need. My dad is the associate pastor of our church and is a very active member in the community. He is on the board for feeding the poor in Philadelphia and takes time out of his very busy schedule to help someone in need. My dad is always there for me when I am struggling with stuff in my life. I am so very proud to call him my dad and have him in my life. I am the youngest of three...

Words: 1719 - Pages: 7

Free Essay

Apple Analysis

...Apple: Incremental Innovation and Impending Obsolescence. From the humble beginnings of a portable music player to the empire we know today of phones, computers, music players, games systems and of course, if they don’t have it, ‘there’s an App for that’ – Apple Inc. is an innovative force to be reckoned with in the current portable communications and entertainment industry. It owes this success to constant, incremental changes made to its products over the course of many years – closed innovation allowing them to fend off all comers while delivering something unique to the market. It started in 2001, when the first iPod music player – Mac compatible only – was released. Sales were slow, through analysis of the sales, market transition and the wants and needs of the consumer Apple determined that through development of Windows-compatible iTunes software they could increase their market share. This product (service) development enabled Apple to establish a presence within the market dominated by Microsoft at the time, while not directly threatening their market share. Apple exclusive formats were offered through iTunes, which was at the front of the commercial market in licensed online music distribution, such as .AAC, Quicktime Movie (.mov) and Apple Lossless (an FLAC clone) enticed users to make the switch from their MP3 players to the iPod. This was followed up by multiple hardware innovations, incremental changes in design and product functionality, from...

Words: 1286 - Pages: 6

Premium Essay

Ent530 Chapter 3

...challenges for entrepreneurs. C. Entrepreneurial strategy maximizes the benefits of newness and minimizes its costs. D. The elements of an entrepreneurial strategy are: 1. The generation of a new entry opportunity, the result of knowledge, and other resources into a bundle that will be valuable, rare, and difficult for others to imitate. 2. The exploitation of a new entry opportunity. 3. A feedback loop. E. If the new entry warrants exploitation, then firm performance depends on: 1. The entry strategy; the risk reduction strategy. 2. The way the firm is organized. 3. The competence of the entrepreneur and the management team. F. Long-run performance is dependent upon the ability to generate and exploit numerous new entries. II. GENERATION OF A NEW ENTRY OPPORTUNITY A. Resources as a Source of Competitive Advantage 1. Resources are the basic building blocks to a firm’s functioning and performance. These can be combined in different ways to achieve superior performance. 2. These resources need to be considered as a bundle rather than just the resources that make up the bundle. 3. A bundle of resources is: a. Valuable when it enables the firm to pursue opportunities, neutralize threats, and to offer products and services that are valued by customers. b. Rare when few or no competitors have it. c. Inimitable when replication of this combination of resources...

Words: 3344 - Pages: 14

Free Essay

The Note Phone Marketing Plan – Enhancing the Marketing Plan

...The Note Phone Marketing Plan – Enhancing the Marketing Plan Lisa S Carey Marketing Management – MKT 500 March 13, 2011 Instructor: Dr. Keith C. Jones Marketing Plan – Enhancing the Marketing Plan for the Note Phone 1. Discuss the company’s competitors, and the strengths and weaknesses of each. There are several companies that are the Note’s competitors, so let’s start with the top competitors: The Apple iPad is the first affordable tablet computer worth owning, but it won't replace your laptop (yet). The Xoom's spec sheet is enough to make any tablet tremble, but the price is high and Google still has some work to do before its tablet software experience is as fleshed out and intuitive as Apple's. The Galaxy Tab is a beautiful product with features that will make iPad owners envious, but its in-between size and possible carrier commitments hold it back from broad appeal. The ViewPad 7 offers a solid platform for Android 2.2, but it comes off as an oversize, overpriced smartphone--not a Netbook alternative. Now there are two competitors that we want to note as their product has not hit the markets yet, but they are targeting our segment target as well, BlackBerry Playbook and the Vizio VIA tablet both are due to release their tablets in the next 3 to 6 months. But we also have to address what the competition is using as their key platform or landscape options for their tablets as this will affect the target market as well: Apple iPad - There's probably no explanation...

Words: 1891 - Pages: 8